/* ===== Mappage widgets Elementor natifs (build editable) ===== */
/* Les titres/textes heritent des classes an-* posees sur le widget */
.an-h1 .elementor-heading-title,.an-h2 .elementor-heading-title,.an-h3 .elementor-heading-title,.an-label .elementor-heading-title,.an-svc-sub .elementor-heading-title,.an-cta-q .elementor-heading-title,.an-caps-title2 .elementor-heading-title,.an-row-num2 .elementor-heading-title,.an-footer-tag2 .elementor-heading-title,.an-foot-h .elementor-heading-title{font:inherit;color:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;margin:0}
.an-hero-h .elementor-heading-title{color:#fff;max-width:12ch}
.an-pagehero .an-h1 .elementor-heading-title{color:#fff}
.an-sec--dark .an-h2 .elementor-heading-title,.an-sec--dark .an-h3 .elementor-heading-title{color:#fff}
.an-p p{font:inherit;color:inherit;line-height:inherit;margin:0}
.an-p p+p{margin-top:1.4rem}
.an-p-lead{font-size:1.15rem;color:var(--an-ink)}
.elementor-widget.an-label{margin-bottom:1.2rem}
/* Boutons */
.an-btn-w .elementor-button{display:inline-flex;align-items:center;gap:.55em;font-family:var(--an-font-h);font-weight:600;font-size:.95rem;line-height:1;padding:16px 28px;border-radius:var(--an-r);background:var(--an-accent);color:#fff;border:1px solid var(--an-accent);transition:background .25s,border-color .25s;box-shadow:none}
.an-btn-w .elementor-button:hover{background:var(--an-accent-d);border-color:var(--an-accent-d);color:#fff}
.an-btn-w .elementor-button::after{content:'\2192';font-family:var(--an-font-h);transition:transform .25s}
.an-btn-w .elementor-button:hover::after{transform:translateX(4px)}
.an-btn-w--ink .elementor-button{background:var(--an-ink);border-color:var(--an-ink)}
.an-btn-w--ink .elementor-button:hover{background:var(--an-ink-2);border-color:var(--an-ink-2)}
.an-btn-w--sm .elementor-button{padding:12px 20px;font-size:.88rem}
/* Lignes services (liste numerotee) */
.an-rows2{border-top:1px solid var(--an-border)}
.an-rows2-first{border-top:1px solid var(--an-border)}
.an-row2{border-bottom:1px solid var(--an-border);padding:2.1rem 0;transition:background .15s,padding-left .2s}
.an-row2>.elementor-container{align-items:center}
.an-row2:hover{background:rgba(35,40,90,.03);padding-left:12px}
.an-row-num2{font-family:var(--an-font-m);font-size:.8rem;color:var(--an-muted)}
.an-row-title2 .elementor-heading-title{font-family:var(--an-font-h);font-weight:700;font-size:clamp(1.3rem,2.6vw,2rem);color:var(--an-ink);transition:none;margin:0}
.an-row-title2 .elementor-heading-title a{color:inherit;transition:none!important}
.an-row2:hover .an-row-title2 .elementor-heading-title{color:var(--an-accent)}
.an-row-arrow2 .elementor-heading-title{display:flex;align-items:center;justify-content:flex-end;color:var(--an-ink);font-size:1.6rem;margin:0;padding-right:26px;transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.an-row-arrow2 .elementor-heading-title a{color:inherit;display:flex;align-items:center;transition:none!important}
.an-row2:hover .an-row-arrow2 .elementor-heading-title{color:var(--an-accent);transform:translate(6px,-6px)}
/* Icones de services (entre numero et titre) */
.an-row-icon{display:flex;align-items:center;color:var(--an-muted);transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.an-row-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.an-row2:hover .an-row-icon{color:var(--an-accent)}
/* Fleche : traversee diagonale elegante au survol */
.an-row2:hover .an-row-arrow2 .elementor-heading-title a{animation:anArrowFly .5s cubic-bezier(.22,.61,.36,1)}
@keyframes anArrowFly{0%{transform:translate(0,0);opacity:1}45%{transform:translate(16px,-16px);opacity:0}50%{transform:translate(-16px,16px);opacity:0}100%{transform:translate(0,0);opacity:1}}
@media (prefers-reduced-motion:reduce){.an-row2:hover .an-row-arrow2 .elementor-heading-title a{animation:none}}
@media(max-width:768px){
 /* Titre Services + bouton Learn more sur la meme ligne */
 .an-sec-head2>.elementor-container{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between}
 .an-sec-head2 .elementor-column{width:auto!important;flex:0 0 auto}
 .an-row2>.elementor-container{display:flex;flex-wrap:nowrap;align-items:center;gap:10px}
 .an-row2 .elementor-column{width:auto!important;flex:0 0 auto}
 .an-row2 .elementor-column:nth-child(3){flex:1 1 auto}
 .an-row-icon svg{width:20px;height:20px}
 .an-row-arrow2 .elementor-heading-title{font-size:1.3rem}
}
/* Capabilities en icon-list */
.an-caps2 .elementor-icon-list-items{margin:0;padding:0}
.an-caps2 .elementor-icon-list-item{padding:.65rem 0 .65rem 1.6rem;position:relative;border-bottom:1px solid var(--an-border);margin:0}
.an-caps2 .elementor-icon-list-icon{display:none}
.an-caps2 .elementor-icon-list-text{color:var(--an-ink);line-height:1.55;font-size:.98rem;white-space:normal}
.an-caps2 .elementor-icon-list-item::before{content:'';position:absolute;left:0;top:1.22em;width:8px;height:2px;background:var(--an-accent)}
.an-caps2--cols .elementor-icon-list-items{columns:2;column-gap:3.5rem}
.an-caps2--cols .elementor-icon-list-item{break-inside:avoid}
@media(max-width:860px){.an-caps2--cols .elementor-icon-list-items{columns:1}}
.elementor-widget.an-caps-title2{margin-bottom:1.1rem}
/* Cartes Why us (classes sur colonnes) */
.an-why-col>.elementor-widget-wrap{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);border-top:2px solid rgba(255,255,255,.18);padding:3rem 2.4rem 2.8rem;margin:0 12px;align-content:flex-start;transition:transform .3s cubic-bezier(.22,.61,.36,1),background .3s,border-color .3s}
.an-why-col:first-child>.elementor-widget-wrap{margin-left:0}
.an-why-col:last-child>.elementor-widget-wrap{margin-right:0}
.an-why-col:hover>.elementor-widget-wrap{transform:translateY(-8px);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);border-top-color:var(--an-accent)}
.an-why-num .elementor-heading-title{font-family:var(--an-font-m);color:var(--an-accent);font-size:.9rem;letter-spacing:.15em;margin:0}
.elementor-widget.an-why-num{margin-bottom:1.8rem;position:relative}
.elementor-widget.an-why-num .elementor-widget-container::after{content:'';display:block;width:38px;height:2px;background:var(--an-accent);opacity:.55;margin-top:1.1rem;transition:width .3s cubic-bezier(.22,.61,.36,1),opacity .3s}
.an-why-col:hover .elementor-widget.an-why-num .elementor-widget-container::after{width:64px;opacity:1}
.an-why-title .elementor-heading-title{font-family:var(--an-font-h);font-weight:700;font-size:1.5rem;line-height:1.2;color:#fff;margin:0}
.elementor-widget.an-why-title{margin-bottom:1.2rem}
.an-why-col .an-p{color:rgba(246,247,250,.72);font-size:1rem;line-height:1.75}
/* Images */
.an-img-lift img{width:100%;height:auto;box-shadow:var(--an-shadow)}
.an-col-rel{position:relative}
/* Header template */
.an-header .elementor-section{background:transparent}
.an-header .elementor-container{align-items:center}
.an-header .elementor-widget:not(:last-child){margin-bottom:0}
.an-logo-img img{height:68px!important;width:auto!important}
@media(max-width:480px){.an-logo-img img{height:54px!important}}
.an-header .an-nav ul{justify-content:flex-end}
.an-header .elementor-column{align-items:center}
/* Footer template */
.an-footer .elementor-widget:not(:last-child){margin-bottom:0}
.an-foot-h{font-family:var(--an-font-m);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(246,247,250,.55);font-weight:400}
.elementor-widget.an-foot-h{margin-bottom:1.2rem}
.an-footer-tag2{font-family:var(--an-font-h);font-weight:600;font-size:1.25rem;color:#fff}
.elementor-widget.an-footer-tag2{margin-top:1.4rem}
.an-footer .an-logo-img img{height:72px!important}
.an-footer .elementor-icon-list-item{margin:.6rem 0;padding:0}
.an-footer .elementor-icon-list-icon{display:none}
.an-footer .elementor-icon-list-text{color:rgba(246,247,250,.85);transition:color .2s}
.an-footer .elementor-icon-list-item a:hover .elementor-icon-list-text{color:var(--an-accent)}
.an-footer-bottom2{border-top:1px solid rgba(255,255,255,.12);margin-top:3.5rem}
.an-footer-bottom2>.elementor-container{padding:1.6rem 24px}
.an-footer-bottom2 p,.an-footer-bottom2 .elementor-heading-title{font-size:.88rem;color:rgba(246,247,250,.6);margin:0;font-family:var(--an-font-b);font-weight:400}
.an-footer-bottom2 a{color:rgba(246,247,250,.75)}
.an-footer-bottom2 a:hover{color:var(--an-accent)}
/* Page Services : marque numero + icone, label Capabilities, espacements */
.an-svc-mark{display:flex;align-items:center;gap:16px;margin-bottom:1.4rem}
.an-svc-mark-num{font-family:var(--an-font-m);font-size:.8rem;letter-spacing:.15em;color:var(--an-muted)}
.an-svc-mark-icon{display:flex;color:var(--an-accent)}
.an-svc-mark-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.an-caps-title2{font-family:var(--an-font-m);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--an-muted);display:inline-flex;align-items:center;gap:.6em}
.an-caps-title2::before{content:'';width:7px;height:7px;background:var(--an-teal);display:inline-block}
.elementor-widget.an-cta-q{margin:2.8rem 0 0}
.an-cta-q .elementor-heading-title{margin:0 0 1.4rem}
/* Variantes titres */
.an-h1-sm{font-size:clamp(2.4rem,5.5vw,5rem)}
.an-svc-num{font-family:var(--an-font-m);font-size:.8rem;color:var(--an-muted)}
.elementor-widget.an-svc-num{margin-bottom:1rem}
.an-cta-q--big{font-size:clamp(1.4rem,2.6vw,2.2rem)}
/* Texte riche (page Privacy) */
.an-rich h2{font-family:var(--an-font-h);font-weight:700;font-size:clamp(1.3rem,2.2vw,1.9rem);line-height:1.15;color:var(--an-ink);margin:2.6rem 0 1rem}
.an-rich h2:first-child{margin-top:0}
.an-rich p{margin:0 0 1rem;max-width:75ch;font:inherit;color:inherit;line-height:inherit}
.an-rich strong{color:var(--an-ink)}
.an-rich ul{list-style:none;margin:0 0 1rem;padding:0}
.an-rich ul li{padding:.65rem 0 .65rem 1.6rem;position:relative;border-bottom:1px solid var(--an-border);color:var(--an-ink)}
.an-rich ul li::before{content:'';position:absolute;left:0;top:1.22em;width:8px;height:2px;background:var(--an-accent)}
/* Stat hero (widget HTML conserve) */
.an-hero .elementor-widget-html .an-hero-stat{position:absolute;right:24px;bottom:70px}
/* Sections Elementor : la classe an-sec porte le padding, la classe an-hero le flex */
.elementor-section.an-hero{display:flex}
.elementor-section.an-hero>.elementor-container{position:relative;z-index:2;width:100%}
.elementor-section.an-grid-veil>.elementor-container{position:relative;z-index:2}
/* Menu mobile : bouton fermer + bouton Contact Us dans le panneau */
.an-nav-close{display:none;background:none;border:0;padding:8px;color:#fff;width:44px;height:44px;align-items:center;justify-content:center;font-size:1.7rem;line-height:1;cursor:pointer;position:absolute;top:24px;right:24px;z-index:2;transition:color .2s}
.an-nav-close:hover{color:var(--an-accent)}
body.an-menu-open .an-nav-close{display:flex}
.an-nav .an-nav-contact{display:none}
body.an-menu-open .an-nav a.an-nav-contact{display:inline-flex;margin-top:2.4rem;font-size:.95rem;font-weight:600;padding:16px 28px;line-height:1;color:#fff}
/* Formulaires : descriptions lisibles + upload CV */
.wpforms-container .wpforms-field-description{color:var(--an-muted);font-size:.85rem}
.on-dark .wpforms-container .wpforms-field-description{color:rgba(246,247,250,.65)}
#wpforms-22-field_6{display:none!important}
.an-file-wrap{display:flex;align-items:center;justify-content:flex-start;text-align:left;gap:1rem;margin-top:.5rem;flex-wrap:wrap}
.an-file-btn{margin:0}
.an-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.an-file-btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--an-font-h);font-weight:600;font-size:.9rem;padding:12px 22px;border:1px solid rgba(255,255,255,.35);border-radius:var(--an-r);color:#fff;cursor:pointer;transition:border-color .15s,color .15s}
.an-file-btn::after{content:'\2191';font-family:var(--an-font-h)}
.an-file-btn:hover{border-color:var(--an-accent);color:var(--an-accent)}
.an-file-input:focus-visible+.an-file-btn{outline:2px solid var(--an-accent);outline-offset:2px}
.an-file-name{color:rgba(246,247,250,.7);font-size:.9rem}
/* Marges laterales : les containers boxed retrouvent les 24px du design d'origine (desktop + tablette + mobile) */
.elementor-section.elementor-section-boxed:not(.elementor-inner-section)>.elementor-container{padding-left:24px;padding-right:24px}
@media(max-width:768px){
 /* Header compact sur mobile : logo + burger sur UNE ligne (empeche le header fixe de recouvrir le hero) */
 .an-header .elementor-section>.elementor-container{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between}
 .an-header .elementor-column{width:auto!important;flex:0 0 auto}
 .an-header .elementor-column:nth-child(2){flex:1 1 auto}
 .an-header .elementor-column:nth-child(2)>.elementor-widget-wrap{justify-content:flex-end}
 .an-header .elementor-column:nth-child(2) .elementor-widget-container{display:flex;justify-content:flex-end}
 .an-header .elementor-widget{margin:0}
 .an-hero .elementor-widget-html .an-hero-stat{position:static;display:inline-flex;margin:1.5rem 0 0;padding-top:1rem}
 .an-row2{padding:1.5rem 0}
 .an-row-arrow2 .elementor-heading-title{width:36px;height:36px}
 .an-why-col>.elementor-widget-wrap{margin:0 0 1.1rem;padding:2.2rem 1.6rem}
}
