/* =====================================================================
   DEMINETEC 2026 : couche design, accessibilité et mouvement
   Chargée après custom.css. N'affecte aucune balise SEO.
   ===================================================================== */
@font-face{font-family:'Poppins';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/poppins-400i-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/poppins-400i-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Poppins';font-style:italic;font-weight:500;font-display:swap;src:url('../fonts/poppins-500i-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:italic;font-weight:500;font-display:swap;src:url('../fonts/poppins-500i-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/poppins-300-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/poppins-300-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/poppins-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/poppins-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/poppins-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/poppins-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/poppins-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/poppins-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/poppins-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/poppins-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root{
  --dm-ink:#1d1f21;
  --dm-dark:#2b2d2f;
  --dm-accent:#B3261E;      /* rouge DEMINETEC, 6,1:1 sur blanc */
  --dm-accent-on-dark:#FF7A6E; /* même rouge, nuance claire : 4,6:1 sur #383838 */
  --dm-link:#B3261E;        /* accent unique : 6,1:1 sur blanc */
  --dm-font:'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, 'Noto Sans', 'Noto Sans Arabic', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --dm-neutral:#3a3d40;
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --ease-in-out:cubic-bezier(0.77,0,0.175,1);
  --ease-drawer:cubic-bezier(0.32,0.72,0,1);
}

/* ---------- Lisibilité ---------- */
#content p,
#content .fbox-content,
#content [style*="text-align:justify"],
#content [style*="text-align: justify"]{ text-align:left !important; }

/* ---------- Contrastes WCAG AA ---------- */
#content a:not(.button):not(.social-icon):not(.menu-link){ text-underline-offset:2px; }
.w40hp a{ color:var(--dm-link) !important; }
[style*="#1abc9c"],[style*="#1ABC9C"]{ background-color:var(--dm-dark) !important; }
[style*="#e74c3c"],[style*="#E74C3C"]{ background-color:var(--dm-accent) !important; }
body #lang-switcher .lang-active{ color:var(--dm-accent-on-dark) !important; }
body #lang-switcher a{ color:#d9d9d9 !important; }

/* ---------- Une seule famille pour l'emphase (pas de serif injecté) ---------- */
.before-heading,
.fbox-content .before-heading{
  font-family:'Poppins',sans-serif !important;
  font-style:italic;
  font-weight:500;
}

/* ---------- Chiffres ---------- */
.counter,.counter span{ font-variant-numeric:tabular-nums; }

/* ---------- Menu principal : jamais d'entrée coupée hors de l'écran ---------- */
@media (min-width:992px){
  .primary-menu{ max-width:100%; min-width:0; flex-shrink:1; }
  .primary-menu .menu-container{ flex-wrap:wrap; max-width:100%; }
}
@media (min-width:992px){
  .primary-menu .menu-container > .menu-item > .menu-link{
    padding-left:8px; padding-right:8px;
    font-size:.75rem; letter-spacing:.3px;
  }
  .full-header .primary-menu .menu-container{ padding-right:0; margin-right:0; border-right:0; }
  .menu-container > .menu-item:not(:first-child){ margin-left:0; }
}
@media (min-width:992px) and (max-width:1199.98px){
  .primary-menu .menu-container > .menu-item > .menu-link{ padding-top:14px; padding-bottom:14px; padding-left:6px; padding-right:6px; }
}

/* ---------- En-tête : pas d'animation de mise en page au défilement ---------- */
#logo img{ -webkit-transition:none !important; transition:none !important; }
@media (min-width:992px){
  #header-wrap{ -webkit-transition:background-color 150ms ease !important; transition:background-color 150ms ease !important; }
  .menu-link{ -webkit-transition:color 150ms ease !important; transition:color 150ms ease !important; }
}
/* Menu mobile hors écran : panneau, sortie plus rapide que l'entrée */
@media (max-width:991.98px){
  #header:not(.sticky-header) .mobile-menu-off-canvas .menu-container{
    transition:transform 180ms var(--ease-out), opacity 150ms ease !important;
  }
  body.primary-menu-open #header:not(.sticky-header) .mobile-menu-off-canvas .menu-container{
    transition:transform 250ms var(--ease-drawer), opacity 150ms ease !important;
  }
}

/* ---------- Boutons : propriétés explicites et retour à l'appui ---------- */
.button,.btn{
  -webkit-transition:background-color 150ms ease, color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, transform 160ms var(--ease-out) !important;
  transition:background-color 150ms ease, color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, transform 160ms var(--ease-out) !important;
}
.button:active,.btn:active,.social-icon:active{ transform:scale(.97); }

/* ---------- Carrousel d'accueil : pas de mur de 63 puces ---------- */
.slider-element .swiper-pagination{ display:none !important; }
@media (max-width:575.98px){
  .slider-element .slider-arrow-left,.slider-element .slider-arrow-right{ display:none !important; }
}

/* ---------- Mobile natif ---------- */
@supports (min-height:100svh){
  @media (min-width:768px){ .min-vh-md-100{ min-height:100svh !important; } }
}
a,button,.button,[role="button"],#primary-menu-trigger,.swiper-button-prev,.swiper-button-next{ touch-action:manipulation; }
.button,#primary-menu-trigger,.slider-arrow-left,.slider-arrow-right{
  -webkit-user-select:none; user-select:none; -webkit-touch-callout:none;
}
#gotoTop{
  bottom:calc(30px + env(safe-area-inset-bottom, 0px));
  right:calc(30px + env(safe-area-inset-right, 0px));
}
#primary-menu-trigger{ min-width:44px; min-height:44px; }

/* Bandeau « Savez-vous que… » : lisible sur mobile sans occuper 300 px */
@media (max-width:767.98px){
  .button.button-full{ font-size:1.125rem !important; line-height:1.45 !important; padding:18px 0 !important; text-align:left !important; white-space:normal; }
}

/* ---------- Écran d'accueil FR : appel à l'action et parcours en 5 étapes ---------- */
.dm-cta{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:12px 16px; margin:8px auto 36px; }
.dm-cta .button{ margin:0; }
.dm-btn-primary{ background-color:var(--dm-accent) !important; color:#fff !important; }
.dm-btn-secondary{ background-color:transparent !important; color:var(--dm-ink) !important; box-shadow:inset 0 0 0 2px var(--dm-ink); }
.dm-tel{ font-weight:600; color:var(--dm-ink) !important; text-decoration:none; white-space:nowrap; }
.dm-tel:focus-visible,.dm-cta .button:focus-visible,.dm-steps a:focus-visible{ outline:3px solid var(--dm-accent); outline-offset:3px; }
@media (hover:hover) and (pointer:fine){
  .dm-btn-primary:hover{ background-color:#8F1E18 !important; }
  .dm-btn-secondary:hover{ background-color:var(--dm-ink) !important; color:#fff !important; }
  .dm-tel:hover{ color:var(--dm-accent) !important; }
}

.dm-steps{ position:relative; list-style:none; margin:0 auto 56px; padding:0; max-width:1100px;
  display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; counter-reset:dmstep; }
.dm-steps::before{ content:""; position:absolute; left:10%; right:10%; top:19px; height:2px; background:#d9d9d9; }
.dm-steps::after{ content:""; position:absolute; left:10%; right:10%; top:19px; height:2px; background:var(--dm-accent);
  transform-origin:left center; transform:scaleX(1); }
.dm-steps li{ position:relative; z-index:1; text-align:center; counter-increment:dmstep; }
.dm-steps li::before{ content:counter(dmstep); display:flex; align-items:center; justify-content:center;
  width:40px; height:40px; margin:0 auto 12px; border-radius:50%; background:var(--dm-accent); color:#fff;
  font:600 1rem/1 'Poppins',sans-serif; font-variant-numeric:tabular-nums; box-shadow:0 0 0 6px #fff; }
.dm-steps a{ color:var(--dm-ink) !important; text-decoration:none; font-weight:600; font-family:'Poppins',sans-serif; display:block; line-height:1.3; }
.dm-steps span{ display:block; margin-top:4px; font-size:.875rem; line-height:1.45; color:#555; }
@media (hover:hover) and (pointer:fine){ .dm-steps a:hover{ color:var(--dm-accent) !important; } }
@media (max-width:767.98px){
  .dm-steps{ grid-template-columns:1fr; gap:20px; padding-left:8px; }
  .dm-steps::before,.dm-steps::after{ left:27px; right:auto; top:20px; bottom:20px; width:2px; height:auto; }
  .dm-steps::after{ transform-origin:center top; transform:scaleY(1); }
  .dm-steps li{ text-align:left; padding-left:60px; }
  .dm-steps li::before{ position:absolute; left:0; top:0; margin:0; }
}

/* Thème sombre (body.dark, fond #383838) */
.dark .dm-btn-secondary{ color:#fff !important; box-shadow:inset 0 0 0 2px #fff; }
.dark .dm-tel{ color:#fff !important; }
.dark .dm-steps::before{ background:rgba(255,255,255,.25); }
.dark .dm-steps li::before{ box-shadow:0 0 0 6px #383838; }
.dark .dm-steps a{ color:#fff !important; }
.dark .dm-steps span{ color:#cfcfcf; }
@media (hover:hover) and (pointer:fine){
  .dark .dm-btn-secondary:hover{ background-color:#fff !important; color:var(--dm-ink) !important; }
  .dark .dm-tel:hover,.dark .dm-steps a:hover{ color:var(--dm-accent-on-dark) !important; }
}

/* ---------- Apparitions ciblées (le contenu reste visible sans JavaScript) ---------- */
.dm-js .dm-reveal{ opacity:0; transform:translateY(8px); }
.dm-js .dm-reveal.is-in{ opacity:1; transform:none;
  transition:opacity 300ms var(--ease-out), transform 300ms var(--ease-out); transition-delay:var(--dm-delay,0ms); }
.dm-js .dm-steps.dm-pending::after{ transform:scaleX(0); }
.dm-js .dm-steps.is-in::after{ transform:scaleX(1); transition:transform 600ms var(--ease-out); }
@media (max-width:767.98px){
  .dm-js .dm-steps.dm-pending::after{ transform:scaleY(0); }
  .dm-js .dm-steps.is-in::after{ transform:scaleY(1); }
}

/* ---------- Mouvement réduit : moins de mouvement, pas zéro ---------- */
@media (prefers-reduced-motion:reduce){
  .dm-js .dm-reveal{ transform:none; }
  .dm-js .dm-reveal.is-in{ transition:opacity 150ms linear; }
  .dm-js .dm-steps.dm-pending::after,.dm-js .dm-steps.is-in::after{ transform:none; transition:none; }
  .button:active,.btn:active,.social-icon:active{ transform:none; }
}


/* =====================================================================
   LOT 2 — police unique, accent unique, en-tête 80 px, menu groupé,
   visuel « relevé magnétométrique »
   ===================================================================== */

/* ---------- Police unique (Poppins auto-hébergée) ---------- */
body{ font-family:var(--dm-font); font-weight:400; }
.before-heading{ font-family:var(--dm-font) !important; }

/* ---------- Accent unique : rouge DEMINETEC ---------- */
[style*="#FF0000"][style*="background"],[style*="#ff0000"][style*="background"]{ background-color:var(--dm-accent) !important; background-image:none !important; }
[style*="border-left:4px solid #FF0000"]{ border-left-color:var(--dm-accent) !important; }
[style*="#f7941d"],[style*="#F7941D"],.button-orange{ background-color:var(--dm-accent) !important; }
[style*="#34495e"],[style*="#34495E"]{ background-color:var(--dm-neutral) !important; }
.button-red{ background-color:var(--dm-accent) !important; }
.button-3d.button-red,.button-3d{ border-bottom-color:rgba(0,0,0,.25); }
.si-colored.si-facebook,.si-colored.si-linkedin,.si-colored.si-twitter,
.si-facebook.si-colored,.si-linkedin.si-colored,.si-twitter.si-colored{ background-color:var(--dm-neutral) !important; }
@media (hover:hover) and (pointer:fine){
  .social-icon:hover{ background-color:var(--dm-accent) !important; }
}
::selection{ background:var(--dm-accent); color:#fff; }
.dark .w40hp a,.dark #content a.w40hp{ color:var(--dm-accent-on-dark) !important; }

/* ---------- En-tête 80 px ---------- */
#header.header-size-md #header-wrap #logo img{ height:52px; width:auto; }
#header.header-size-md #logo{ flex-shrink:0; }
@media (min-width:992px){
  #header.header-size-md .header-row{ flex-wrap:nowrap; min-height:80px; }
  #header.header-size-md .primary-menu{ margin-left:auto; }
  #header.header-size-md .header-misc{ order:9; margin-left:12px; }
  #header.header-size-md.full-header #logo{ padding-right:20px; }
  #header.header-size-md .primary-menu .menu-container > .menu-item > .menu-link{ padding-top:28px; padding-bottom:28px; line-height:22px; }
}
@media (max-width:991.98px){
  #header.header-size-md .header-row{ min-height:64px; }
  #header.header-size-md #header-wrap #logo img{ height:44px; }
  #header.header-size-md #logo{ margin-right:auto; }
  #header.header-size-md .header-misc{ margin-left:auto; order:2; }
  #header.header-size-md #primary-menu-trigger{ order:3; }
  #header.header-size-md .primary-menu{ order:4; flex-basis:100%; }
}

/* ---------- Sélecteur de langue intégré à l'en-tête ---------- */
.dm-lang{ position:relative; font-size:12px; letter-spacing:.5px; line-height:1; }
.dm-lang details{ position:relative; }
.dm-lang summary{
  list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:6px;
  min-height:44px; padding:0 10px; border-radius:4px; color:#fff; font-weight:600;
  -webkit-user-select:none; user-select:none; touch-action:manipulation;
}
.dm-lang summary::-webkit-details-marker{ display:none; }
body #lang-switcher.dm-lang summary .lang-active{ color:#fff !important; }
.dm-lang summary:focus-visible{ outline:2px solid var(--dm-accent-on-dark); outline-offset:2px; }
.dm-lang ul{
  position:absolute; top:100%; right:0; z-index:400; margin:0; padding:6px 0; list-style:none;
  min-width:96px; background:#1a1a1a; border-top:2px solid var(--dm-accent); border-radius:0 0 4px 4px;
  box-shadow:0 12px 24px rgba(0,0,0,.35);
  transform-origin:top right; animation:dmPop 150ms var(--ease-out);
}
.rtl .dm-lang ul,[dir="rtl"] .dm-lang ul{ right:auto; left:0; transform-origin:top left; }
.dm-lang li a{ display:block; padding:10px 16px; color:#d9d9d9 !important; text-decoration:none; }
@media (hover:hover) and (pointer:fine){ .dm-lang li a:hover{ color:#fff !important; background:#2b2d2f; } }
#header:not(.dark):not(.transparent-header) .dm-lang summary,
#header:not(.dark):not(.transparent-header) .dm-lang summary .lang-active{ color:var(--dm-ink) !important; }
.menu-link .dm-caret{ vertical-align:middle; }
.dm-caret{ display:inline-block; width:6px; height:6px; margin-left:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); opacity:.7; }
.rtl .dm-caret,[dir="rtl"] .dm-caret{ margin-left:0; margin-right:6px; }
@keyframes dmPop{ from{ opacity:0; transform:scale(.97); } to{ opacity:1; transform:none; } }

/* ---------- Sous-menus (menu FR regroupé) ---------- */
.menu-link .dm-caret{ display:inline-block; }
@media (min-width:992px){
  .primary-menu:not(.on-click) .menu-item:not(.mega-menu) .sub-menu-container{
    margin-top:0; transition:opacity 150ms var(--ease-out), visibility 0s linear 150ms;
  }
  .primary-menu .menu-container > .menu-item:focus-within > .sub-menu-container,
  .primary-menu .menu-container > .menu-item.dm-open > .sub-menu-container{
    opacity:1; visibility:visible; z-index:399; pointer-events:auto; transition:opacity 150ms var(--ease-out);
  }
  .primary-menu .menu-container > .menu-item:focus-within > .sub-menu-container > *,
  .primary-menu .menu-container > .menu-item.dm-open > .sub-menu-container > *{ display:list-item !important; }
  .primary-menu .sub-menu-container .menu-link{ font-size:.8rem; letter-spacing:.3px; padding-top:12px; padding-bottom:12px; }
}

/* ---------- Visuel « relevé magnétométrique » ---------- */
#slider .swiper-slide{ position:relative; }
.dm-mag{ position:absolute; inset:0; width:100%; height:100%; z-index:1; pointer-events:none; }
#slider .swiper-slide > .container{ position:relative; z-index:2; }
.dm-mag-lines path{ fill:none; stroke:rgba(255,255,255,.55); stroke-width:1.4; vector-effect:non-scaling-stroke; stroke-linejoin:round; }
.dm-mag-t circle{ fill:none; stroke:var(--dm-accent-on-dark); stroke-width:2; vector-effect:non-scaling-stroke; }
.dm-mag-t .dm-mag-dot{ fill:var(--dm-accent-on-dark); stroke:none; }
.dm-mag-t path{ stroke:var(--dm-accent-on-dark); stroke-width:2; vector-effect:non-scaling-stroke; }
.dm-mag-t{ transform-box:fill-box; transform-origin:center; }
.dm-mag-play .dm-mag-lines path{ stroke-dasharray:1; stroke-dashoffset:1; animation:dmDraw 560ms var(--ease-in-out) forwards; animation-delay:calc(var(--i) * 15ms); }
.dm-mag-play .dm-mag-t{ opacity:0; transform:scale(.9); animation:dmTarget 250ms var(--ease-out) forwards; animation-delay:calc(600ms + var(--i) * 60ms); }
@keyframes dmDraw{ to{ stroke-dashoffset:0; } }
@keyframes dmTarget{ to{ opacity:1; transform:none; } }
@media (max-width:575.98px){ .dm-mag-lines path{ stroke-width:1.1; } }
@media (prefers-reduced-motion:reduce){
  .dm-mag-play .dm-mag-lines path{ stroke-dasharray:none; stroke-dashoffset:0; animation:dmFade 200ms ease forwards; opacity:0; }
  .dm-mag-play .dm-mag-t{ transform:none; animation:dmFade 200ms ease forwards; animation-delay:0ms; }
  .dm-lang ul{ animation:none; }
}
@keyframes dmFade{ to{ opacity:1; } }
@media print{ .dm-mag-play *{ animation:none !important; opacity:1 !important; stroke-dashoffset:0 !important; transform:none !important; } }

/* Rangée Bootstrap posée hors conteneur : pas de défilement horizontal de 12 px */
section:not(.container):not([class*="container"]) > .row{ margin-left:0; margin-right:0; }
@media (min-width:992px) and (max-width:1199.98px){
  #header.header-size-md #header-wrap #logo img{ height:40px; }
  #header.header-size-md.full-header #logo{ padding-right:12px; }
  .dm-lang summary{ padding:0 6px; }
}
/* Sous-navigation de page (« Analyse des données… ») : passe à la ligne au lieu de déborder */
.page-menu-nav{ max-width:100%; min-width:0; }
/* Mobile : la flèche native du gabarit suffit */
@media (max-width:991.98px){ .menu-link .dm-caret{ display:none; } }

/* lot4 menus : sous-menus élargis, libellés sur une ligne */
@media (min-width: 992px){
  .primary-menu .menu-container > .menu-item > .sub-menu-container{ width:auto; min-width:250px; }
  .primary-menu .sub-menu-container .menu-link div{ white-space:nowrap; }
}
@media (min-width: 992px) and (max-width: 1199.98px){
  .primary-menu .menu-container > .menu-item > .menu-link{ padding-left:9px; padding-right:9px; font-size:.8rem; letter-spacing:0; }
}
