/*
Theme Name: ES Portes Industrielles — Premium
Theme URI: https://www.esportes-industrielles.fr/
Description: Thème enfant Astra — refonte visuelle premium (overlay non destructif : CSS + GSAP). Ne modifie aucun contenu Elementor, uniquement l'apparence. Page d'accueil d'abord (scopé sur body.home).
Author: Refonte ES
Template: astra
Version: 1.0.0
Text Domain: es-portes-premium
*/

/* =====================================================================
   DESIGN TOKENS (ancrés sur l'identité réelle ES)
   ===================================================================== */
:root{
  --espi-navy:#003163;          /* bleu industriel réel (section Engagements) */
  --espi-navy-deep:#04203f;
  --espi-navy-ink:#021426;
  --espi-ink:#0f1b2d;
  --espi-slate:#5a6b82;
  --espi-orange:#fd9f01;        /* orange accent réel */
  --espi-orange-deep:#e07f00;
  --espi-on-orange:#1b1402;     /* texte sur orange → contraste AA */
  --espi-white:#ffffff;
  --espi-paper:#f6f8fc;
  --espi-line:#e7ecf3;

  --espi-r-card:20px;
  --espi-r-btn:12px;
  --espi-r-img:16px;

  --espi-sh-sm:0 1px 2px rgba(15,27,45,.05), 0 2px 6px rgba(15,27,45,.05);
  --espi-sh-md:0 10px 30px -14px rgba(15,27,45,.20);
  --espi-sh-lg:0 30px 70px -28px rgba(15,27,45,.32);
  --espi-sh-accent:0 12px 28px -10px rgba(253,159,1,.5);
  --espi-ease:cubic-bezier(.22,1,.36,1);
}

/* =====================================================================
   TYPOGRAPHIE GLOBALE (page d'accueil) — Inter
   ===================================================================== */
body.home,
body.home p,
body.home a,
body.home li,
body.home span,
body.home h1, body.home h2, body.home h3, body.home h4, body.home h5, body.home h6,
body.home .elementor-heading-title,
body.home .elementor-widget-text-editor,
body.home .wpr-advanced-text,
body.home .elementor-button,
body.home .menu-link{
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif !important;
}
body.home{ color:var(--espi-slate); background:var(--espi-white); }
body.home h1, body.home h2, body.home h3, body.home h4{ color:var(--espi-ink); letter-spacing:-.02em; font-weight:800; line-height:1.12; }

/* Neutralise les animations d'entrée Elementor (qui laissaient des trous blancs).
   Les révélations premium sont gérées par GSAP (esportes-premium.js).
   On ne force PAS opacity:1 sur .animated → le JS peut animer librement ;
   fallback sans JS : tout reste visible. */
body.home .elementor-invisible{ opacity:1 !important; }
body.home .elementor-element.animated,
body.home .elementor-widget.animated,
body.home .elementor-column.animated{ animation:none !important; }

/* =====================================================================
   HEADER ASTRA — glass, sticky, shrink au scroll
   ===================================================================== */
body.home #masthead{
  position:sticky; top:0; z-index:999;
  background:rgba(255,255,255,.72) !important;
  -webkit-backdrop-filter:saturate(1.6) blur(14px);
  backdrop-filter:saturate(1.6) blur(14px);
  border-bottom:1px solid rgba(231,236,243,.9);
  box-shadow:none;
  transition:background .3s ease, box-shadow .3s ease, padding .3s var(--espi-ease);
}
body.home.admin-bar #masthead{ top:32px; }
@media (max-width:782px){ body.home.admin-bar #masthead{ top:46px; } }

/* État réduit au scroll (classe ajoutée par JS) */
body.home #masthead.espi-scrolled{
  background:rgba(255,255,255,.92) !important;
  box-shadow:0 8px 30px -18px rgba(15,27,45,.4);
}
body.home #masthead.espi-scrolled .ast-container{ padding-top:4px; padding-bottom:4px; }
body.home #masthead .main-header-bar{ background:transparent !important; border:0 !important; transition:padding .3s var(--espi-ease); }

/* Navigation */
body.home #masthead .menu-link{
  font-weight:600 !important; color:var(--espi-ink) !important;
  letter-spacing:.01em; transition:color .2s ease;
}
body.home #masthead .menu-link:hover,
body.home #masthead .current-menu-item > .menu-link{ color:var(--espi-navy) !important; }
/* souligné orange (Astra hover underline) */
body.home #masthead .ast-menu-hover-style-underline .menu-item > .menu-link:after{ background:var(--espi-orange) !important; height:2px !important; }

/* Bouton "DEVIS GRATUIT" (Astra custom button)
   IMPORTANT : le wrapper <a>.ast-custom-button-link occupe toute la hauteur
   du header → on le rend transparent et on stylise uniquement le bouton interne. */
body.home #masthead .ast-custom-button-link{
  background:transparent !important; padding:0 !important; box-shadow:none !important;
  display:inline-flex !important; align-items:center;
}
body.home #masthead .ast-custom-button-link .ast-custom-button{
  background:var(--espi-orange) !important; color:var(--espi-on-orange) !important;
  border:0 !important; border-radius:var(--espi-r-btn) !important;
  padding:12px 24px !important; font-weight:700 !important; letter-spacing:.01em; line-height:1 !important;
  box-shadow:none; transition:transform .3s var(--espi-ease), box-shadow .3s var(--espi-ease), background .25s ease;
}
body.home #masthead .ast-custom-button-link:hover .ast-custom-button{
  background:var(--espi-orange-deep) !important; transform:translateY(-2px);
  box-shadow:var(--espi-sh-accent);
}

/* Sous-menu déroulant — CORRECTIF DÉTACHEMENT.
   Le sous-menu d'Astra portait un margin-top:110px parasite → il flottait à
   110px sous l'onglet, créant un "trou" qui fermait le menu au survol.
   On le recolle (margin-top:0 ; top:100%) et on le passe en panneau premium
   (accent orange, coins arrondis, ombre douce). overflow VISIBLE impératif :
   sinon le sous-sous-menu latéral (flyout) serait rogné. */
body.home #masthead .sub-menu{
  margin-top:0 !important; top:100% !important;
  border-top:2px solid var(--espi-orange) !important;
  border-radius:0 0 14px 14px !important;
  box-shadow:var(--espi-sh-lg) !important;
  background:rgba(255,255,255,.98) !important;
  padding:6px !important;
}
body.home #masthead .sub-menu .menu-link{
  border-radius:8px; transition:background .2s ease, color .2s ease;
}
body.home #masthead .sub-menu .menu-item:hover > .menu-link,
body.home #masthead .sub-menu .menu-link:hover{
  background:var(--espi-paper) !important; color:var(--espi-navy) !important;
}
/* Sous-sous-menu (flyout latéral) : garde son alignement vertical, pas de top:100% */
body.home #masthead .sub-menu .sub-menu{ top:0 !important; border-radius:14px !important; }

/* =====================================================================
   BOUTONS ELEMENTOR (global home)
   ===================================================================== */
body.home .elementor-button{
  border-radius:var(--espi-r-btn) !important;
  font-weight:700 !important; letter-spacing:.01em;
  padding:15px 30px !important;
  transition:transform .3s var(--espi-ease), box-shadow .3s var(--espi-ease), background .25s ease !important;
}
body.home .elementor-button:hover{ transform:translateY(-2px); box-shadow:var(--espi-sh-accent); }

/* =====================================================================
   0 · HERO  (#2dcebe51)
   ===================================================================== */
body.home .elementor-element-2dcebe51{ position:relative; }
/* Scrim premium pour le contraste du texte */
body.home .elementor-element-2dcebe51::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(95deg, rgba(2,20,38,.94) 0%, rgba(2,20,38,.86) 34%, rgba(2,20,38,.70) 56%, rgba(2,20,38,.40) 80%, rgba(2,20,38,.18) 100%),
    linear-gradient(0deg, rgba(2,20,38,.5), rgba(2,20,38,0) 40%);
}
body.home .elementor-element-2dcebe51 > .elementor-container{ position:relative; z-index:2; }
/* Titre animé Royal (wpr-advanced-text) — préfixe (titre) + mots animés (accent)
   Le widget place un <br> dans le préfixe : on neutralise pour un empilement net. */
body.home .elementor-element-2dcebe51 .wpr-advanced-text{
  color:#fff !important; line-height:1.08 !important; letter-spacing:-.02em; font-weight:800 !important;
}
body.home .elementor-element-2dcebe51 .wpr-advanced-text-preffix{
  display:block !important; color:#fff !important; line-height:1.08 !important;
}
body.home .elementor-element-2dcebe51 .wpr-advanced-text-preffix br{ display:none !important; }
body.home .elementor-element-2dcebe51 .wpr-anim-text{
  display:block !important; line-height:1.12 !important; margin-top:.06em;
}
body.home .elementor-element-2dcebe51 .wpr-anim-text,
body.home .elementor-element-2dcebe51 .wpr-anim-text b{ color:var(--espi-orange) !important; }
/* Divider orange court */
body.home .elementor-element-2dcebe51 .elementor-divider-separator{
  border-top-color:var(--espi-orange) !important; max-width:84px; border-top-width:3px !important;
}
/* Paragraphe hero */
body.home .elementor-element-2dcebe51 .elementor-widget-text-editor{
  color:rgba(255,255,255,.88) !important; font-size:1.12rem !important; line-height:1.65 !important; max-width:60ch;
}
body.home .elementor-element-2dcebe51 .elementor-widget-text-editor *{ color:rgba(255,255,255,.88) !important; }
/* Respiration */
body.home .elementor-element-2dcebe51{ padding-block:clamp(4rem,10vh,7rem); }

/* =====================================================================
   1 · À PROPOS  (#33dd688)
   ===================================================================== */
body.home .elementor-element-33dd688{ padding-block:clamp(4.5rem,7vw,7rem); }
/* Eyebrow (premier heading = "A Propos de") */
body.home .elementor-element-33dd688 .elementor-widget-heading:first-of-type .elementor-heading-title{
  color:var(--espi-orange-deep) !important; font-size:.82rem !important; font-weight:700 !important;
  letter-spacing:.16em; text-transform:uppercase;
}
/* Titre principal */
body.home .elementor-element-33dd688 .elementor-heading-title{ color:var(--espi-ink) !important; }
body.home .elementor-element-33dd688 .elementor-widget-text-editor{ color:var(--espi-slate) !important; font-size:1.02rem; line-height:1.75; }
/* Image encadrée */
body.home .elementor-element-33dd688 .elementor-widget-image img{
  border-radius:var(--espi-r-img) !important; box-shadow:var(--espi-sh-lg);
}

/* =====================================================================
   3 · NOS PRODUITS — bande navy  (#25ffc1b2)
   ===================================================================== */
/* Overlay navy à la place du violet */
body.home .elementor-element-25ffc1b2 > .elementor-background-overlay{
  background:linear-gradient(100deg, rgba(2,20,38,.95) 0%, rgba(0,49,99,.86) 45%, rgba(0,49,99,.55) 100%) !important;
  opacity:1 !important;
}
body.home .elementor-element-25ffc1b2{ padding-block:clamp(5rem,9vw,8rem); }
body.home .elementor-element-25ffc1b2 .elementor-heading-title{ color:#fff !important; }
body.home .elementor-element-25ffc1b2 .elementor-widget-text-editor,
body.home .elementor-element-25ffc1b2 .elementor-widget-text-editor *{ color:rgba(255,255,255,.85) !important; }
body.home .elementor-element-25ffc1b2 .elementor-button{
  background:var(--espi-orange) !important; color:var(--espi-on-orange) !important; border:0 !important;
}
/* Carousel produit arrondi */
body.home .elementor-element-25ffc1b2 .elementor-image-carousel .swiper-slide img{
  border-radius:var(--espi-r-img) !important; box-shadow:var(--espi-sh-lg);
}

/* =====================================================================
   4 + 5 · NOS SERVICES — cartes  (#d5a82a4, #65ff8ce)
   ===================================================================== */
body.home .elementor-element-d5a82a4,
body.home .elementor-element-65ff8ce{
  background-image:none !important; background-color:var(--espi-paper) !important;
}
body.home .elementor-element-d5a82a4{ padding-top:clamp(4.5rem,7vw,7rem) !important; }
body.home .elementor-element-65ff8ce{ padding-bottom:clamp(4.5rem,7vw,7rem) !important; }
/* Titre + sous-titre de la section (sur fond clair → encre/ardoise) */
body.home .elementor-element-d5a82a4 .elementor-heading-title{ color:var(--espi-ink) !important; }
body.home .elementor-element-d5a82a4 .elementor-widget-text-editor,
body.home .elementor-element-d5a82a4 .elementor-widget-text-editor *{ color:var(--espi-slate) !important; }
/* Cartes (icon-box) */
body.home .elementor-element-d5a82a4 .elementor-widget-icon-box .elementor-icon-box-wrapper,
body.home .elementor-element-65ff8ce .elementor-widget-icon-box .elementor-icon-box-wrapper{
  background:#fff; border:1px solid var(--espi-line); border-radius:var(--espi-r-card);
  padding:34px 30px; box-shadow:var(--espi-sh-sm); text-align:left;
  transition:transform .4s var(--espi-ease), box-shadow .4s var(--espi-ease), border-color .3s ease;
  height:100%;
}
body.home .elementor-element-d5a82a4 .elementor-widget-icon-box:hover .elementor-icon-box-wrapper,
body.home .elementor-element-65ff8ce .elementor-widget-icon-box:hover .elementor-icon-box-wrapper{
  transform:translateY(-7px); box-shadow:var(--espi-sh-lg); border-color:transparent;
}
/* Icône en carré teinté */
body.home .elementor-element-d5a82a4 .elementor-icon-box-icon,
body.home .elementor-element-65ff8ce .elementor-icon-box-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:56px; height:56px; border-radius:15px; margin-bottom:1.2rem !important;
  background:rgba(253,159,1,.12); transition:background .3s var(--espi-ease), transform .4s var(--espi-ease);
}
body.home .elementor-element-d5a82a4 .elementor-icon-box-icon .elementor-icon,
body.home .elementor-element-65ff8ce .elementor-icon-box-icon .elementor-icon{
  color:var(--espi-orange-deep) !important; fill:var(--espi-orange-deep) !important; font-size:25px !important; background:transparent !important;
}
body.home .elementor-element-d5a82a4 .elementor-widget-icon-box:hover .elementor-icon-box-icon,
body.home .elementor-element-65ff8ce .elementor-widget-icon-box:hover .elementor-icon-box-icon{
  background:var(--espi-orange); transform:rotate(-6deg);
}
body.home .elementor-element-d5a82a4 .elementor-widget-icon-box:hover .elementor-icon,
body.home .elementor-element-65ff8ce .elementor-widget-icon-box:hover .elementor-icon{ color:var(--espi-on-orange) !important; }
/* Titre & texte des cartes */
body.home .elementor-element-d5a82a4 .elementor-icon-box-title,
body.home .elementor-element-65ff8ce .elementor-icon-box-title,
body.home .elementor-element-d5a82a4 .elementor-icon-box-title span,
body.home .elementor-element-65ff8ce .elementor-icon-box-title span{
  color:var(--espi-ink) !important; font-size:1.16rem !important; font-weight:700 !important;
}
body.home .elementor-element-d5a82a4 .elementor-icon-box-description,
body.home .elementor-element-65ff8ce .elementor-icon-box-description{
  color:var(--espi-slate) !important; font-size:.97rem !important; line-height:1.62 !important;
}

/* =====================================================================
   6 · GALERIE  (#fslhax1)
   ===================================================================== */
body.home .elementor-element-fslhax1{ padding-block:clamp(4.5rem,7vw,7rem); background:var(--espi-white); }
body.home .elementor-element-fslhax1 .swiper-slide img{
  border-radius:var(--espi-r-img) !important; box-shadow:var(--espi-sh-md);
  transition:transform .6s var(--espi-ease);
}
body.home .elementor-element-fslhax1 .swiper-slide:hover img{ transform:scale(1.05); }
/* Puces du carousel */
body.home .elementor-element-fslhax1 .swiper-pagination-bullet-active,
body.home .elementor-element-fslhax1 .swiper-pagination-bullet{ background:var(--espi-orange) !important; }

/* =====================================================================
   7 · NOS ENGAGEMENTS — navy  (#5zx4ylf)
   ===================================================================== */
body.home .elementor-element-5zx4ylf{
  background:linear-gradient(160deg,var(--espi-navy-deep) 0%, var(--espi-navy) 60%, #012a55 100%) !important;
  padding-block:clamp(4.5rem,8vw,8rem);
}
body.home .elementor-element-5zx4ylf .elementor-heading-title{ color:#fff !important; }
body.home .elementor-element-5zx4ylf .elementor-widget-text-editor,
body.home .elementor-element-5zx4ylf .elementor-widget-text-editor *{ color:rgba(255,255,255,.78) !important; }
/* Valeurs (icon-box centrées) */
body.home .elementor-element-5zx4ylf .elementor-icon-box-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:64px; height:64px; border-radius:50%;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16);
  margin:0 auto 1.1rem !important; transition:transform .4s var(--espi-ease), background .3s ease;
}
body.home .elementor-element-5zx4ylf .elementor-icon-box-icon .elementor-icon{ color:var(--espi-orange) !important; fill:var(--espi-orange) !important; }
body.home .elementor-element-5zx4ylf .elementor-widget-icon-box:hover .elementor-icon-box-icon{ transform:translateY(-5px); background:rgba(253,159,1,.16); }
body.home .elementor-element-5zx4ylf .elementor-icon-box-title,
body.home .elementor-element-5zx4ylf .elementor-icon-box-title span{ color:#fff !important; font-weight:700 !important; }
body.home .elementor-element-5zx4ylf .elementor-icon-box-description{ color:rgba(255,255,255,.72) !important; }

/* =====================================================================
   8 · NOS FOURNISSEURS — bande premium  (#l1gwze8)
   ===================================================================== */
/* Double classe + !important : Elementor force padding-top:0 sur cette section
   (collait le titre à la bande navy au-dessus) → on impose la respiration. */
body.home .elementor-element.elementor-element-l1gwze8{
  background-image:none !important; background-color:var(--espi-paper) !important;
  padding-top:clamp(4.5rem,8vw,7rem) !important;
  padding-bottom:clamp(4rem,6vw,6rem) !important;
}
/* Titre centré + kicker orange (rappel du système de design) */
body.home .elementor-element-l1gwze8 .elementor-widget-heading{ text-align:center !important; }
body.home .elementor-element-l1gwze8 .elementor-heading-title{
  color:var(--espi-ink) !important;
  font-size:clamp(1.4rem,2.2vw,1.9rem) !important; letter-spacing:.04em !important;
  position:relative; display:inline-block;
  padding-top:1.15rem !important; margin-bottom:2.6rem !important;
}
body.home .elementor-element-l1gwze8 .elementor-heading-title::before{
  content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:48px; height:3px; border-radius:3px; background:var(--espi-orange);
}
/* Logos présentés en cartes blanches uniformes */
body.home .elementor-element-l1gwze8 .elementor-image-carousel .swiper-slide{
  background:#fff !important; border:1px solid var(--espi-line) !important;
  border-radius:var(--espi-r-card) !important; box-shadow:var(--espi-sh-sm) !important;
  display:flex !important; align-items:center; justify-content:center;
  min-height:128px; padding:18px 22px; box-sizing:border-box;
  transition:transform .35s var(--espi-ease), box-shadow .35s var(--espi-ease), border-color .3s ease;
}
body.home .elementor-element-l1gwze8 .elementor-image-carousel .swiper-slide:hover{
  transform:translateY(-5px); box-shadow:var(--espi-sh-md); border-color:rgba(253,159,1,.45);
}
/* Logos : gris discret → couleur au survol */
body.home .elementor-element-l1gwze8 .swiper-slide img{
  filter:grayscale(1); opacity:.7; max-height:82px; width:auto !important; max-width:90% !important;
  object-fit:contain; transition:filter .3s ease, opacity .3s ease;
}
body.home .elementor-element-l1gwze8 .swiper-slide:hover img{ filter:none; opacity:1; }
body.home .elementor-element-l1gwze8 .swiper-pagination-bullet,
body.home .elementor-element-l1gwze8 .swiper-pagination-bullet-active{ background:var(--espi-orange) !important; }

/* =====================================================================
   10 · CONTACT — clair  (#334cf0)
   ===================================================================== */
body.home .elementor-element-334cf0{
  background:var(--espi-paper) !important; padding-block:clamp(4.5rem,7vw,7rem);
}
body.home .elementor-element-334cf0 .elementor-heading-title{ color:var(--espi-ink) !important; }
/* Cartes info (Essential Addons) */
body.home .elementor-element-334cf0 .eael-infobox{
  background:#fff; border:1px solid var(--espi-line); border-radius:var(--espi-r-card);
  padding:28px; box-shadow:var(--espi-sh-sm);
  transition:transform .35s var(--espi-ease), box-shadow .35s var(--espi-ease), border-color .3s ease;
  height:100%;
}
body.home .elementor-element-334cf0 .eael-infobox:hover{ transform:translateY(-6px); box-shadow:var(--espi-sh-lg); border-color:rgba(253,159,1,.5); }
body.home .elementor-element-334cf0 .infobox-icon{ color:var(--espi-navy) !important; }
body.home .elementor-element-334cf0 .infobox-icon i,
body.home .elementor-element-334cf0 .infobox-icon svg{ color:var(--espi-navy) !important; fill:var(--espi-navy) !important; }
body.home .elementor-element-334cf0 .eael-infobox .title,
body.home .elementor-element-334cf0 .eael-infobox h1,
body.home .elementor-element-334cf0 .eael-infobox h2,
body.home .elementor-element-334cf0 .eael-infobox h3,
body.home .elementor-element-334cf0 .eael-infobox h4{ color:var(--espi-ink) !important; }
body.home .elementor-element-334cf0 .eael-infobox p,
body.home .elementor-element-334cf0 .eael-infobox-content p{ color:var(--espi-slate) !important; }
/* Image de la section contact */
body.home .elementor-element-334cf0 .elementor-widget-image img{ border-radius:var(--espi-r-img) !important; box-shadow:var(--espi-sh-md); }

/* =====================================================================
   11 · FOOTER  (#dd9f1fb)
   ===================================================================== */
body.home .elementor-element-dd9f1fb{
  background:linear-gradient(180deg,var(--espi-navy-deep),var(--espi-navy-ink)) !important;
  padding-block:clamp(3.5rem,6vw,5rem) !important;
}
body.home .elementor-element-dd9f1fb .elementor-heading-title{
  color:#fff !important; font-size:.82rem !important; letter-spacing:.13em; text-transform:uppercase;
}
body.home .elementor-element-dd9f1fb .elementor-widget-text-editor,
body.home .elementor-element-dd9f1fb .elementor-widget-text-editor *{ color:rgba(255,255,255,.55) !important; line-height:1.7; }
/* Liens (icon-list) */
body.home .elementor-element-dd9f1fb .elementor-icon-list-item a,
body.home .elementor-element-dd9f1fb .elementor-icon-list-text{
  color:rgba(255,255,255,.66) !important; transition:color .2s ease, transform .2s ease;
}
body.home .elementor-element-dd9f1fb .elementor-icon-list-item a:hover{ color:var(--espi-orange) !important; transform:translateX(3px); }
body.home .elementor-element-dd9f1fb .elementor-icon-list-icon i,
body.home .elementor-element-dd9f1fb .elementor-icon-list-icon svg{ color:var(--espi-orange) !important; fill:var(--espi-orange) !important; }
/* Galerie du footer arrondie */
body.home .elementor-element-dd9f1fb .elementor-widget-image-gallery img,
body.home .elementor-element-dd9f1fb .gallery-item img{ border-radius:10px !important; }

/* Barre de copyright Astra (était orange vif) → navy assorti */
body.home .site-footer .site-below-footer-wrap,
body.home .site-footer .site-footer-below-section-1,
body.home .ast-below-footer-section,
body.home footer.site-footer{
  background-color:var(--espi-navy-ink) !important; background-image:none !important;
}
body.home .ast-footer-copyright,
body.home .ast-footer-copyright *{ color:rgba(255,255,255,.55) !important; }
body.home .ast-footer-copyright a:hover{ color:var(--espi-orange) !important; }

/* =====================================================================
   RÉVÉLATION (états gérés par JS — fallback : tout visible)
   Helper utilisé par esportes-premium.js
   ===================================================================== */
body.home .espi-reveal{ will-change:transform,opacity; }

/* =====================================================================
   RESPONSIVE — ajustements ciblés (Astra gère déjà l'essentiel)
   ===================================================================== */
@media (max-width:881px){
  /* Hero : scrim plus uniforme (texte pleine largeur) */
  body.home .elementor-element-2dcebe51::after{
    background:
      linear-gradient(180deg, rgba(2,20,38,.70) 0%, rgba(2,20,38,.80) 55%, rgba(2,20,38,.90) 100%),
      linear-gradient(95deg, rgba(2,20,38,.55), rgba(2,20,38,.25));
  }
}

/* Mouvement réduit : aucune transition agressive */
@media (prefers-reduced-motion: reduce){
  body.home *{ transition-duration:.01ms !important; animation-duration:.01ms !important; }
}
