/* =========================================================
   BROKEN ARMS V2 — WordPress & Elementor
   ========================================================= */

/* bandeau de pré-visualisation (admin uniquement, avant activation) */
.v2-preview-bar{position:sticky;top:0;z-index:120;background:var(--ember);color:#fff;text-align:center;font:600 12px/1 var(--sans);letter-spacing:.06em;padding:9px 16px}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:0}}

/* le kit Elementor ne doit pas écraser la typographie du thème */
body.ba-v2{font-family:var(--sans);color:var(--fg);background:var(--bg)}
body.ba-v2 a{color:inherit}
body.ba-v2 :is(h1,h2,h3,h4,h5,h6){color:inherit}
/* …mais les boutons gardent leurs couleurs (sinon texte noir sur fond noir) */
body.ba-v2 a.btn-solid{color:#fff}
body.ba-v2 a.btn-solid:hover{color:#fff}
body.ba-v2 a.btn-ghost{color:var(--fg)}
body.ba-v2 a.btn-ghost:hover{color:#fff}
body.ba-v2 .hero a.btn-solid,body.ba-v2 .continue a.btn,body.ba-v2 .next-ep a.btn{color:var(--fg)}
body.ba-v2 .hero a.btn-solid:hover,body.ba-v2 .continue a.btn:hover,body.ba-v2 .next-ep a.btn:hover{color:#fff}
body.ba-v2 .hero a.btn-ghost{color:#fff}
body.ba-v2 .hero a.btn-ghost:hover{color:var(--fg)}

/* pages Elementor */
.ba-elementor{overflow:hidden}
.ba-elementor .e-con.ba-sec{--padding-top:clamp(60px,8vw,130px);--padding-bottom:clamp(60px,8vw,130px);--padding-left:var(--gut);--padding-right:var(--gut);--content-width:min(100%,1440px)}
.ba-elementor .e-con.ba-sec.ba-tight{--padding-top:clamp(40px,5vw,80px);--padding-bottom:clamp(40px,5vw,80px)}
.ba-elementor .e-con.ba-flush{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:0;--content-width:100%}
.ba-elementor .e-con.ba-light{background:var(--panel)}
.ba-elementor .e-con.ba-dark{background:var(--fg);color:#fff}
.ba-elementor .elementor-widget-shortcode,.ba-elementor .elementor-shortcode{width:100%}
.ba-elementor .ba-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,52px)}

/* titres et textes posés avec les widgets Elementor */
.ba-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:10px;font:600 11px/1 var(--sans)!important;letter-spacing:.22em!important;text-transform:uppercase;color:var(--mute)!important}
.ba-eyebrow .elementor-heading-title::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ember)}
.ba-dark .ba-eyebrow .elementor-heading-title{color:rgba(255,255,255,.7)!important}
.ba-h .elementor-heading-title{font-family:var(--font-display)!important;font-weight:800!important;font-stretch:112%;text-transform:uppercase;line-height:.92!important;letter-spacing:-.025em!important;font-size:clamp(40px,6vw,88px)!important;color:inherit!important;overflow-wrap:break-word}
.ba-h.ba-h1 .elementor-heading-title{font-size:clamp(50px,8vw,132px)!important}
.ba-h .elementor-heading-title em,.ba-h .elementor-heading-title span{font-style:normal;color:var(--ember)}
.ba-lead{font-size:17px;color:#3d3b37;max-width:620px}
.ba-dark .ba-lead{color:rgba(255,255,255,.78)}
.ba-lead p{margin:0 0 .8em}
.ba-quote .elementor-heading-title{font-family:var(--font-display)!important;font-weight:800!important;font-stretch:112%;font-size:clamp(28px,4vw,60px)!important;line-height:1.05!important;text-transform:uppercase;letter-spacing:-.02em!important;text-align:center;color:inherit!important}
.ba-quote .elementor-heading-title em{font-style:normal;color:var(--ember)}

/* boutons Elementor au style du thème */
.ba-btn .elementor-button{display:inline-flex;align-items:center;gap:12px;padding:17px 30px;border-radius:999px;border:1px solid var(--fg);background:var(--fg);color:#fff;font:600 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;transition:all .3s var(--ease)}
.ba-btn .elementor-button:hover{background:var(--ember);border-color:var(--ember);color:#fff}
.ba-btn.ba-ghost .elementor-button{background:transparent;color:var(--fg)}
.ba-btn.ba-ghost .elementor-button:hover{background:var(--fg);color:#fff}
.ba-dark .ba-btn .elementor-button{background:#fff;color:var(--fg);border-color:#fff}

/* images Elementor */
.ba-img img{width:100%;border-radius:18px;object-fit:cover;aspect-ratio:4/3}

/* compléments V2 dans WordPress */
.stepper.stepper-3{grid-template-columns:repeat(3,1fr)}
.ba-continue:empty{display:none}
[data-recent]{margin-top:70px}
[data-recent] .recent-grid{margin-top:10px}
.read-flag.read,.ep .st.read{color:var(--ember)}
.fav-line{background:none;border:0;cursor:pointer;padding:0}
.page-body .legal-body{margin:0 auto}
.ba-form .wpcf7-form p{margin-bottom:18px}
.ba-form .wpcf7-form label{display:block;font:600 11px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.ba-form .wpcf7-form input:not([type=submit]):not([type=checkbox]),.ba-form .wpcf7-form textarea,.ba-form .wpcf7-form select{width:100%;margin-top:8px;background:var(--panel);border:1px solid transparent;border-radius:10px;padding:14px 16px;font:400 16px var(--sans);color:var(--fg)}
.ba-form .wpcf7-form input[type=submit]{border-radius:999px}

@media (max-width:860px){
  .stepper.stepper-3{grid-template-columns:1fr}
  .ba-elementor .e-con.ba-split{--flex-direction:column}
}

/* rangées Elementor (en-têtes de section, colonnes) */
.ba-elementor .e-con.ba-head{--flex-direction:row;--justify-content:space-between;--align-items:flex-end;--flex-wrap:wrap;--gap:20px 28px;margin-bottom:clamp(28px,4vw,52px)}
.ba-elementor .e-con.ba-head>.e-con{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:14px;width:auto;flex:1 1 420px}
.ba-elementor .e-con.ba-cols{--flex-direction:row;--gap:clamp(30px,5vw,80px);--align-items:center;--flex-wrap:nowrap}
.ba-elementor .e-con.ba-cols>.e-con{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;flex:1 1 0;min-width:0;--gap:16px}
.ba-elementor .e-con.ba-stack{--gap:16px}
.ba-manifesto .elementor-widget-container{font:700 clamp(24px,3vw,46px)/1.18 var(--font-display);letter-spacing:-.015em;max-width:1100px}
.ba-manifesto em{font-style:normal;color:var(--ember)}
.ba-manifesto p{margin:0 0 .7em}
@media (max-width:860px){.ba-elementor .e-con.ba-cols{--flex-direction:column}}

/* galerie produit : annule la largeur 48 % de woocommerce-layout */
.pdp .woocommerce-product-gallery,.pdp .pdp-gallery .images{width:100%!important;float:none!important;margin:0!important}
.pdp .summary{width:auto!important;float:none!important}
/* bandeau de pré-visualisation : ne recouvre pas l'en-tête */
.v2-preview-bar{position:relative}
/* bandeau cookies Complianz : jamais plus large que l'écran */
.cmplz-cookiebanner,.cmplz-cookiebanner *{box-sizing:border-box}
@media (max-width:560px){.cmplz-cookiebanner{max-width:calc(100vw - 20px)!important;left:10px!important;right:10px!important}}
