/* Socle header extrait depuis dx-include-header.js pour matérialiser le chrome commun. */

#dx-header-slot{
  position:relative !important;
  z-index:9000 !important;
  display:block !important;
  background:transparent !important;
  padding:0 !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
[data-dx-header]{
  position:relative !important;
  z-index:9000 !important;
  isolation:isolate;
  width:calc(100% - 32px) !important;
  max-width:1200px !important;
  margin:10px auto 0 auto !important;
  font-family:inherit !important;
  display:block !important;
  background:transparent !important;
  padding:0 !important;
  border:none !important;
  box-shadow:none !important;
}
[data-dx-header] *{
  box-sizing:border-box;
}
[data-dx-header] .dxShell{
  display:flex;
  align-items:center;
  gap:18px;
  width:100%;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:22px;
  padding:10px 14px;
  overflow:visible !important;
}
[data-dx-header] .dxBrand{
  min-width:180px;
  max-width:220px;
  display:flex;
  align-items:center;
  gap:10px;
  color:#111827;
  text-decoration:none;
  flex:0 0 auto;
}
[data-dx-header] .dxBrandBolt{
  width:22px;
  height:22px;
  color:#ff6a00;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
[data-dx-header] .dxBrandBolt svg{
  width:100%;
  height:100%;
  display:block;
}
[data-dx-header] .dxBrandText{
  min-width:0;
  display:flex;
  flex-direction:column;
  line-height:1.1;
}
[data-dx-header] .dxBrandText strong{
  font-size:14px;
  font-weight:800;
  color:#ff6a00;
}
[data-dx-header] .dxBrandText small{
  font-size:10px;
  color:#4b5563;
}
[data-dx-header] .dxNav{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  overflow:visible !important;
}
[data-dx-header] .dxNavLink{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  appearance:none;
  border:none;
  background:transparent;
  color:#111827;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  padding:10px 12px;
  border-radius:999px;
  white-space:nowrap;
  cursor:pointer;
}
[data-dx-header] .dxNavLink.is-active{
  background:#ff6a00;
  color:#fff;
}
[data-dx-header] .dxPlusWrap,
[data-dx-header] .dxMobilePlusWrap{
  position:relative;
  overflow:visible !important;
}
[data-dx-header] .dxNavSummary,
[data-dx-header] .dxMobileSummary{
  list-style:none;
}
[data-dx-header] .dxNavSummary::-webkit-details-marker,
[data-dx-header] .dxMobileSummary::-webkit-details-marker{
  display:none;
}
[data-dx-header] .dxPlusMenu{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  min-width:250px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  box-shadow:0 18px 40px rgba(15,23,42,.16);
  padding:8px 0;
  z-index:9999;
  display:none;
}
[data-dx-header] .dxPlusWrap[open] > .dxPlusMenu{
  display:block;
}
[data-dx-header] .dxPlusMenu a{
  display:block;
  padding:11px 14px;
  text-decoration:none;
  color:#111827;
  font-size:14px;
  white-space:nowrap;
}
[data-dx-header] .dxPlusMenu a:hover{
  background:#f8fafc;
}
[data-dx-header] .dxCaret{
  margin-left:4px;
}
[data-dx-header] .dxActions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}
[data-dx-header] .dxBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border:none;
  border-radius:999px;
  padding:11px 18px;
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
}
[data-dx-header] .dxBtnPrimary{
  background:#ff6a00;
  color:#fff;
  box-shadow:0 8px 18px rgba(255,106,0,.18);
}
[data-dx-header] .dxIconBtn{
  display:none;
  width:40px;
  height:40px;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border:1px solid #ff6a00;
  background:rgba(255,106,0,0.12);
  color:#ff6a00;
  border-radius:999px;
  font-size:18px;
  line-height:1;
}
[data-dx-header] .dxIconBtn.is-authed{
  background:#ff6a00;
  border-color:#ff6a00;
  color:#fff;
}
[data-dx-header] .dxBurger{
  display:none;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#111827;
  border-radius:14px;
  padding:10px 12px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
[data-dx-header] .dxMobilePanel{
  display:none;
}
[data-dx-header] .dxMobilePanel[hidden]{
  display:none !important;
}

@media (max-width: 860px){
  /* BLINDAGE COMPLET : !important sur toutes les propriétés de layout
     pour être immune aux CSS externes (styles.css, dx-demande-*.css, etc.) */
  [data-dx-header]{
    width:calc(100% - 32px) !important;
    max-width:none !important;
    margin:0 auto 8px auto !important;
    display:block !important;
    box-sizing:border-box !important;
    background:transparent !important;
    padding:0 !important;
    border:none !important;
    box-shadow:none !important;
  }
  [data-dx-header] .dxShell{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    padding:9px 12px !important;
    gap:0 !important;
    overflow:hidden !important;
    width:100% !important;
    box-sizing:border-box !important;
    border-top:none !important;
  }
  [data-dx-header] .dxBrand{
    display:flex !important;
    flex-direction:row !important;
    flex:1 1 0 !important;
    min-width:0 !important;
    max-width:none !important;
    width:auto !important;
    gap:8px !important;
    overflow:hidden !important;
    align-items:center !important;
    text-decoration:none !important;
  }
  [data-dx-header] .dxBrandBolt{
    width:20px !important;
    height:20px !important;
    flex:0 0 20px !important;
    display:inline-flex !important;
  }
  [data-dx-header] .dxBrandText{
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
    flex:1 1 0 !important;
    gap:0 !important;
  }
  [data-dx-header] .dxBrandText strong{
    display:block !important;
    font-size:13px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    max-width:100% !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }
  [data-dx-header] .dxBrandText small{
    display:block !important;
    font-size:8px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    max-width:100% !important;
    opacity:0.75 !important;
    margin-top:1px !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }
  [data-dx-header] .dxNav{
    display:none !important;
  }
  [data-dx-header] .dxActions{
    display:flex !important;
    flex-direction:row !important;
    flex:0 0 auto !important;
    margin-left:8px !important;
    gap:6px !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
  }
  [data-dx-header] .dxActions #authBtn{
    display:none !important;
  }
  [data-dx-header] .dxIconBtn{
    display:inline-flex !important;
    flex:0 0 36px !important;
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    font-size:16px !important;
    border-radius:999px !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
  }
  [data-dx-header] .dxBurger{
    display:inline-flex !important;
    flex:0 0 auto !important;
    padding:7px 11px !important;
    border-radius:10px !important;
    font-size:12px !important;
    font-weight:800 !important;
    gap:5px !important;
    white-space:nowrap !important;
    align-items:center !important;
  }
  [data-dx-header] .dxBurgerLabel{
    display:inline !important;
  }
  [data-dx-header] .dxMobilePanel{
    display:block !important;
    position:absolute !important;
    top:calc(100% + 6px) !important;
    left:0 !important;
    right:0 !important;
    margin-top:0 !important;
    background:#fff !important;
    border:1px solid #e5e7eb !important;
    border-radius:16px !important;
    box-shadow:0 12px 32px rgba(15,23,42,.18) !important;
    padding:8px 12px 12px !important;
    z-index:9999 !important;
  }
  [data-dx-header] .dxMobilePanel[hidden]{
    display:none !important;
  }
  [data-dx-header] .dxMobileLink,
  [data-dx-header] .dxMobileSubLink{
    display:block !important;
    width:100% !important;
    color:#111827 !important;
    text-decoration:none !important;
    font-size:14px !important;
    font-weight:700 !important;
    padding:10px 6px !important;
    border-bottom:1px solid #f3f4f6 !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
  [data-dx-header] .dxMobileLink.is-active{
    color:#ff6a00 !important;
    font-weight:900 !important;
  }
  [data-dx-header] .dxMobilePlusMenu{
    display:none;
    padding-left:12px;
    background:#f9fafb;
    border-radius:10px;
    margin-top:4px;
  }
  [data-dx-header] .dxMobilePlusWrap[open] > .dxMobilePlusMenu{
    display:block;
  }
}

@media (min-width: 861px){
  [data-dx-header] .dxIconBtn,
  [data-dx-header] .dxBurger,
  [data-dx-header] .dxMobilePanel{
    display:none !important;
  }
}

/* Header transparent sur pages hero */
.dx-hero-transparent #dx-header-slot {
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  z-index: 9010 !important;
  background: transparent !important;
}
.dx-hero-transparent [data-dx-header] { background: transparent !important; }
.dx-hero-transparent [data-dx-header] .dxShell {
  border-color: rgba(255,255,255,0.15) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}
.dx-hero-transparent [data-dx-header] .dxNavLink,
.dx-hero-transparent [data-dx-header] .dxBrand { color: rgba(255,255,255,0.92) !important; }
.dx-hero-transparent [data-dx-header] .dxN1 { color: #ff9a3c !important; }
.dx-hero-transparent [data-dx-header] .dxN2,
.dx-hero-transparent [data-dx-header] .dxN3 { color: rgba(255,255,255,0.92) !important; }
.dx-hero-transparent [data-dx-header] .dxBrandText strong { color: inherit !important; }
.dx-hero-transparent [data-dx-header] .dxBrandText small { color: rgba(255,255,255,0.45) !important; }
.dx-hero-transparent [data-dx-header] .dxBtn.dxBtnPrimary { background: #ff6a00 !important; color: #fff !important; border-color: transparent !important; }
.dx-hero-transparent [data-dx-header] .dxBurger,
.dx-hero-transparent [data-dx-header] .dxBurgerLabel { color: rgba(255,255,255,0.85) !important; }
@media (max-width: 860px) {
  .dx-hero-transparent [data-dx-header] .dxShell { background: rgba(10,10,20,0.6) !important; border-color: rgba(255,255,255,0.12) !important; }
}

/* Supprimer bordure haute visible sur pages hero */
@media (max-width: 860px) {
  body.dx-hero-page [data-dx-header] .dxShell {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-radius: 12px !important;
  }
  body.dx-hero-page #dx-header-slot {
    border: none !important;
    background: transparent !important;
  }
}


/* ══ OVERRIDES GLOBAUX — shell glass + couleurs ═════════════ */

/* Shell glass toutes pages */
[data-dx-header] .dxShell {
  background: rgba(10, 20, 8, 0.30) !important;
  backdrop-filter: blur(18px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.4) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.12) !important;
}

/* Nav desktop blanc */
[data-dx-header] .dxNavLink {
  color: rgba(255,255,255,0.88) !important;
}
[data-dx-header] .dxNavLink:hover,
[data-dx-header] .dxNavLink.is-active {
  background: rgba(255,255,255,0.14) !important;
  color: #fff !important;
}

/* Bouton connexion orange */
[data-dx-header] .dxBtn.dxBtnPrimary {
  background: rgba(255,122,0,0.85) !important;
  border: 1px solid rgba(255,122,0,0.4) !important;
  color: #fff !important;
}

/* Burger blanc */
[data-dx-header] .dxBurger {
  background: rgba(255,255,255,0.12) !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
}
[data-dx-header] .dxBurgerIcon,
[data-dx-header] .dxBurgerLabel {
  color: #fff !important;
}

/* Icône compte orange */
[data-dx-header] .dxIconBtn {
  border: 1px solid #ff6a00 !important;
  background: rgba(255,106,0,0.12) !important;
  color: #ff6a00 !important;
}
[data-dx-header] .dxIconBtn.is-authed {
  background: #ff6a00 !important;
  color: #fff !important;
}

/* Menu déroulant desktop : fond blanc, texte noir */
[data-dx-header] .dxPlusMenu {
  background: #fff !important;
}
[data-dx-header] .dxPlusMenu a {
  color: #111827 !important;
}

/* Panel mobile : fond blanc, texte noir — PRIORITÉ MAXIMALE */
[data-dx-header] .dxShell .dxMobilePanel {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
[data-dx-header] .dxShell .dxMobilePanel .dxMobileLink,
[data-dx-header] .dxShell .dxMobilePanel .dxMobileSubLink,
[data-dx-header] .dxShell .dxMobilePanel summary {
  color: #111827 !important;
  border-bottom-color: #f3f4f6 !important;
}
[data-dx-header] .dxShell .dxMobilePanel .dxMobileLink.is-active {
  color: #ff6a00 !important;
}

/* Logo */
[data-dx-header] .dxN2 { color: #ffffff !important; }
[data-dx-header] .dxN3 { color: #ff6a00 !important; }
