.elementor-35 .elementor-element.elementor-element-5529314{--display:flex;}.elementor-35 .elementor-element.elementor-element-5529314.e-con{--flex-grow:0;--flex-shrink:0;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-35 .elementor-element.elementor-element-5529314{--width:337px;}}/* Start custom CSS *//* ====== Garde-fous anti-scroll horizontal (mobile) ====== */
@media (max-width: 980px){
  /* 1) Coupe toute fuite horizontale */
  html, body { width:100%; overflow-x: clip; } /* (fallback: hidden si vieux Safari) */
  /* 2) Empêche qu’un wrapper Elementor/GP réouvre un flux horizontal */
  #page, .site, .site-content, .elementor-section-wrap { overflow-x: clip; }
  /* 3) Chips sous le H1 : width 100% du conteneur (évite les micro-débordements) */
  #dc-exp-index-v2 .dc-h1-chips .dc-chips { width: min(720px, 100%); }
  /* 4) Bannière cookies (Complianz) : jamais plus large que l’écran */
  .cmplz-cookiebanner, .cmplz-cookiebanner-container { max-width:100vw !important; overflow-x: clip !important; }
}

/* Optionnel (tous navigateurs) : sécu globale, même desktop */
* { box-sizing: border-box; }
img, svg, canvas, video { max-width:100%; height:auto; }

/* Hotfix expertises — CSS pur (sans balises <style>) */
#dc-exp-hero2,
#dc-exp-index-v2 .hero{
  background:transparent !important;
  background-image:none !important;
}

/* Si :has() est supporté, on purge les overlays de la section qui contient le héros */
.elementor-section:has(#dc-exp-hero2),
.elementor-section:has(#dc-exp-index-v2){
  background:transparent !important; box-shadow:none !important; border:0 !important;
}
.elementor-section:has(#dc-exp-hero2) > .elementor-background-overlay,
.elementor-section:has(#dc-exp-index-v2) > .elementor-background-overlay{
  background:transparent !important; opacity:0 !important; pointer-events:none !important;
}


/* Expertises – supprime le scroll horizontal sur mobile */
@media (max-width:820px){
  /* Sécurité globale */
  html, body { overflow-x: clip !important; }

  /* 1) Fond cinétique : neutraliser l’overscan horizontal */
  #dc-kinetic-variant { --overscan-x: 0% !important; }
  #dc-kinetic-variant .stage-blur,
  #dc-kinetic-variant .brand,
  #dc-kinetic-variant .wash-top { inset: 0 !important; }

  /* 2) FAQ/cartes : couper le sheen qui déborde */
  .dc-exp-qa,
  .dc-exp-qa-btn { overflow: hidden; }
}

/* === ALIGNEMENT MOBILE - à coller tout en bas du <style> du bloc === */
@media (max-width: 820px){
  #dc-exp-index-v2{ --dc-gutter: 12px !important; } /* mets 10/12/16 selon la gouttière Elementor mobile */
  #dc-exp-index-v2 .wrap{ padding-inline: var(--dc-gutter) !important; }
}
/* === UNIFIER MOBILE : HÉRO EXPERTISES ≈ ENTITÉS ===================== */

/* 0) Cohérence de boîte (sécurité) */
#dc-hero-expertises, #dc-hero-expertises * { box-sizing: border-box; }

/* 1) Neutraliser les paddings des wrappers Elementor autour du héros */
@media (max-width: 820px){
  :where(.elementor-section, .elementor-top-section, .elementor-container,
         .elementor-column, .elementor-widget-wrap, .elementor-widget)
  :has(> #dc-hero-expertises){
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* si le héros est plus bas dans l’arbre (cas fréquents) */
  :where(.elementor-section, .elementor-top-section):has(#dc-hero-expertises){
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* 2) Même respirations que le héros ENTITÉS */
@media (max-width: 820px){
  #dc-hero-expertises{
    padding: 44px 16px 10px !important;
    min-height: auto;
    overflow-x: clip; /* pas de scroll latéral */
  }
  #dc-hero-expertises .wrap,
  #dc-hero-expertises .tools,
  #dc-hero-expertises .search,
  #dc-hero-expertises .filters{
    width:100%; max-width:100%;
  }

  /* Barres & gaps identiques */
  #dc-hero-expertises .chips{ padding-inline:10px !important; }
  #dc-hero-expertises .chips-row{ gap:8px !important; }
  #dc-hero-expertises .chips-row .c1{ width:26% !important; }
  #dc-hero-expertises .chips-row .c2{ width:22% !important; }
  #dc-hero-expertises .chips-row .c3{ width:18% !important; }
  #dc-hero-expertises .chips-row .c4{ width:14% !important; }
  #dc-hero-expertises .chips-row .c5{ width:10% !important; }

  /* Outils (recherche + filtres) comme ENTITÉS */
  #dc-hero-expertises .search{ padding:10px 14px !important; }
  #dc-hero-expertises .filters{ justify-content:center !important; gap:8px !important; }
  #dc-hero-expertises .chip-btn{ padding:9px 12px !important; }
}

/* 3) Taille du H1 harmonisée (même courbe que ENTITÉS) */
@media (max-width: 640px){
  #dc-hero-expertises .title{
    font-size: clamp(28px, 7.2vw, 34px) !important;
    text-wrap: balance;
  }
}

/* 4) Très petits écrans (SE & co), mêmes micro-ajustements */
@media (max-width: 380px){
  #dc-hero-expertises{ padding:40px 12px 8px !important; }
  #dc-hero-expertises .filters{ gap:6px !important; }
  #dc-hero-expertises .chip-btn{ padding:8px 10px !important; font-size:12px !important; }
}

/* === MOBILE HARD-FIX : EXPERTISES = ENTITÉS ======================== */
/* 0) Sécu */
#dc-hero-expertises, #dc-hero-expertises * { box-sizing: border-box; }

/* 1) Container-escape : le héros sort des paddings Elementor et prend 100vw */
@media (max-width: 820px){
  #page #dc-hero-expertises{
    /* occupe toute la largeur viewport, peu importe les wrappers autour */
    width:100vw !important;
    max-width:100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    /* même “respiration” que ENTITÉS */
    padding:44px 16px 10px !important;
    overflow-x: clip !important;
  }

  /* 2) Contenu interne recentré & borné comme ENTITÉS */
  #page #dc-hero-expertises .wrap{
    max-width: min(1280px, 100% - 32px) !important; /* 16px de chaque côté */
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  /* 3) Alignements identiques (barres, recherche, filtres) */
  #dc-hero-expertises .chips{ padding-inline:10px !important; }
  #dc-hero-expertises .chips-row{ gap:8px !important; }
  #dc-hero-expertises .chips-row .c1{ width:26% !important; }
  #dc-hero-expertises .chips-row .c2{ width:22% !important; }
  #dc-hero-expertises .chips-row .c3{ width:18% !important; }
  #dc-hero-expertises .chips-row .c4{ width:14% !important; }
  #dc-hero-expertises .chips-row .c5{ width:10% !important; }

  #dc-hero-expertises .search{ padding:10px 14px !important; width:100% !important; max-width:100% !important; }
  #dc-hero-expertises .search input{ min-width:0 !important; width:1% !important; flex:1 1 auto !important; }
  #dc-hero-expertises .filters{ justify-content:center !important; gap:8px !important; max-width:100% !important; flex-wrap:wrap !important; }
  #dc-hero-expertises .chip-btn{
    padding:9px 12px !important; max-width:100% !important;
    white-space:normal !important; word-break:break-word !important; line-height:1.25 !important;
  }
}

/* 4) Taille du H1 identique à ENTITÉS sur smartphone */
@media (max-width: 640px){
  #dc-hero-expertises .title{ font-size: clamp(28px, 7.2vw, 34px) !important; text-wrap: balance; }
}

/* 5) Micro-ajustements très petits écrans */
@media (max-width: 380px){
  #dc-hero-expertises{ padding:40px 12px 8px !important; }
  #dc-hero-expertises .filters{ gap:6px !important; }
  #dc-hero-expertises .chip-btn{ padding:8px 10px !important; font-size:12px !important; }
}/* End custom CSS */