/* ══════════════════════════════════════════════════════════════
   DX-CHARTE.CSS — Charte commune DevisExpress
   Aligne toutes les pages internes sur la home refondue.
   À charger APRÈS styles.css dans le <head> de chaque page.
   Une seule source de vérité : toute évolution de charte se fait ici.
   ══════════════════════════════════════════════════════════════ */

:root{
  /* Palette chaude (identique à la home) */
  --accent:#FF6A00 !important;        /* orange principal */
  --accent2:#FF8A2A !important;       /* orange clair */
  --accent-dk:#E85F00 !important;     /* orange hover */
  --vt:#2D5A27 !important;            /* vert réassurance */
  --vt-lt:#3D7A35 !important;
  --bg:#F8F4EF !important;            /* crème chaud */
  --bg-card:#FFFFFF !important;
  --card:#FFFFFF !important;
  --text:#211B16 !important;          /* texte chaud */
  --muted:#635A52 !important;
  --border:#E7DFD4 !important;
  --shadow:0 10px 34px rgba(60,42,28,.08) !important;
  --radius:16px !important;

  /* Sombre chaud « basalte » — remplace les noirs bleutés */
  --dx-navy:#33281F;
  --dx-dark:#33261D;
  --dx-dark2:#4A362A;
}

body{
  background:var(--bg) !important;
  color:var(--text) !important;
}

/* ── BANNIÈRE DE PAGE ──────────────────────────────────────────
   Reprend la photo d'équipe de l'accueil : continuité visuelle
   entre la home et les pages internes.                          */
.dx-page-hero{
  /* Deux couches : degrade sombre a gauche PAR-DESSUS la photo.
     Le pseudo-element ne s'affichait pas ; en couche de fond,
     le rendu est garanti. Il s'eteint a 100% : aucune arete.  */
  background-image:
    linear-gradient(96deg,
      rgba(16,10,6,.80) 0%,  rgba(16,10,6,.68) 16%, rgba(16,10,6,.50) 30%,
      rgba(16,10,6,.32) 44%, rgba(16,10,6,.16) 60%, rgba(16,10,6,.06) 78%,
      rgba(16,10,6,0) 100%),
    url('/assets/img/hero-equipe.webp') !important;
  background-size:100% 100%, cover !important;
  background-position:center, center 30% !important;
  background-repeat:no-repeat, no-repeat !important;
  background-color:var(--dx-dark) !important;
  padding:120px 0 52px !important;
  min-height:372px !important;
  margin-top:0 !important;
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  filter:none !important;
}
.dx-page-hero .dx-hero-bg-img{display:none !important}

/* Le degrade est desormais porte par background-image (ci-dessus).
   Les pseudo-elements sont neutralises, et le cas particulier de
   offreur-register est supprime : traitement identique partout.  */
.dx-page-hero{overflow:hidden !important}
.dx-page-hero > *{position:relative !important;z-index:2 !important}
.dx-page-hero::before{display:none !important}

/* Filigrane 974 et fondu bas : retires. La photo reste nette. */
.dx-page-hero::after{display:none !important}
.dx-page-hero__glow{display:none !important}

.dx-page-hero__wrap,.dx-page-hero__inner{width:100% !important}
.dx-page-hero__eyebrow{
  color:#FFB347 !important;font-size:11px !important;letter-spacing:.16em !important;
  text-shadow:0 1px 3px rgba(0,0,0,.9), 0 2px 10px rgba(0,0,0,.7) !important;
}
.dx-page-hero__title{
  font-size:clamp(27px,3.8vw,42px) !important;
  letter-spacing:-.03em !important;color:#fff !important;
  text-shadow:0 2px 5px rgba(0,0,0,.92), 0 4px 18px rgba(0,0,0,.75) !important;
}
.dx-page-hero__sub{
  color:#EDE7DF !important;font-size:15px !important;line-height:1.6 !important;
  text-shadow:0 1px 4px rgba(0,0,0,.95), 0 2px 12px rgba(0,0,0,.8) !important;
}
/* Badge "Pros 974" / "Local 974" : retire. Il flottait au milieu
   de la photo, par-dessus les visages, et son libelle n'avait pas
   de sens sur ces pages. A reintegrer proprement dans la colonne
   de texte le jour ou on lui donne un vrai libelle.              */
.dx-page-hero__badge{display:none !important}
.dx-page-hero__badge--off{
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.32) !important;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-radius:999px !important;font-weight:800 !important;color:#fff !important;
  box-shadow:0 4px 16px rgba(0,0,0,.2) !important;
}

/* ── ALIGNEMENT DU CONTENU DE BANNIERE ────────────────
   Certaines pages enveloppent le texte du bandeau dans un
   .container mais ne chargent pas styles.css : la classe n'a
   alors ni largeur ni marge, et le titre colle au bord.       */
.dx-page-hero > .container{
  width:min(1200px,calc(100% - 40px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Carte de formulaire posee directement sous la banniere :
   ombre unique, sans le lisere blanc qui bavait sur la photo. */
main.dx-below-hero > section.card:first-of-type,
main.dx-below-hero > .card:first-of-type{
  box-shadow:0 18px 46px rgba(38,26,16,.17) !important;
  border-radius:20px !important;
}

/* ── TITRES ──────────────────────────────────────────────────
   Uniquement dans le corps de page : jamais dans les bannières
   sombres ni dans le header/footer (ou ils doivent rester blancs). */
main h1,main h2,main h3,
.container > h1,.container > h2,.container > h3,
.card h2,.card h3,section.card h2,section.card h3{
  color:var(--dx-navy) !important;letter-spacing:-.025em;
}
main h2,.card h2{font-weight:900 !important}

/* Securite : les titres des bannieres restent blancs */
.dx-page-hero h1,.dx-page-hero h2,.dx-page-hero h3,
.dx-page-hero__title,.dx-page-hero *{color:#fff}
.dx-page-hero__title{color:#fff !important}
.dx-page-hero__eyebrow{color:#FFB347 !important}
.dx-page-hero__sub{color:rgba(255,255,255,.82) !important}

/* ── CARTES & BLOCS ────────────────────────────────────────── */
.card,.dx-card,section.card{
  background:linear-gradient(170deg,#FFFCF7 0%,#FFFFFF 58%) !important;
  border:1px solid var(--border) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;
}

/* ── CARTE DE TETE SOUS LA BANNIERE ────────────────────
   Verre depoli : la photo transparait faiblement derriere au
   lieu d'etre tranchee par un bloc blanc plein. Le selecteur
   ne vise que la carte enfant direct du .container, donc les
   cartes de demandes a l'interieur ne sont pas touchees.
   Remontee de 32px -> 76px : elle se pose sur la photo.        */
main.dx-below-hero{margin-top:-76px !important}
main.dx-below-hero > .container > section.card:first-of-type,
main.dx-below-hero > .container > .card:first-of-type{
  background:rgba(255,255,255,.90) !important;
  backdrop-filter:blur(18px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12) !important;
  border:1px solid rgba(255,255,255,.55) !important;
  border-radius:26px !important;
  box-shadow:0 -2px 0 rgba(255,255,255,.35) inset,
             0 22px 60px rgba(38,26,16,.22) !important;
}

/* La page publier-demande est corrigee directement dans son
   balisage (margin-top en ligne) : le :has() ne remontait pas
   jusqu'au <main>. Aucune regle CSS ici.                      */

/* ── BOUTONS ───────────────────────────────────────────────── */
.btn-primary,.dxBtnPrimary,button.primary,.dx-btn-primary,
a.btn.primary,input[type=submit]{
  background:var(--accent) !important;
  border-color:var(--accent) !important;
  color:#fff !important;
  border-radius:12px !important;
  font-weight:800 !important;
  box-shadow:0 6px 20px rgba(255,106,0,.28) !important;
}
.btn-primary:hover,.dxBtnPrimary:hover,button.primary:hover,
.dx-btn-primary:hover,a.btn.primary:hover{
  background:var(--accent2) !important;border-color:var(--accent2) !important;
}
.btn-secondary,.dx-btn-secondary,a.btn.secondary{
  border:1.5px solid var(--accent) !important;
  color:var(--accent) !important;background:transparent !important;
  border-radius:12px !important;font-weight:800 !important;
}
.btn-secondary:hover,.dx-btn-secondary:hover,a.btn.secondary:hover{
  background:#FFF4EB !important;
}

/* ── CHAMPS DE FORMULAIRE ──────────────────────────────────── */
input[type=text],input[type=email],input[type=tel],input[type=number],
input[type=search],select,textarea{
  border-radius:12px !important;
  border:1.5px solid #E3DCD1 !important;
  background:#FBF9F5 !important;
  color:var(--text) !important;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--accent) !important;outline:none !important;
}

/* ── LIENS ─────────────────────────────────────────────────── */
a{color:inherit}
main a:not(.btn):not([class*="Btn"]):hover{color:var(--accent) !important}

/* ── PUCES / TAGS ──────────────────────────────────────────── */
.chip,.tag,.pill,.dxm-chip{
  border-radius:999px !important;
  border:1px solid var(--border) !important;
  background:#FBF9F5 !important;
  font-weight:700 !important;
}
.chip:hover,.tag:hover,.pill:hover,.dxm-chip:hover{
  color:var(--accent) !important;border-color:#FFC49A !important;background:#FFF4EB !important;
}
.chip.is-active,.dxm-chip.is-active,.chip.active{
  background:var(--accent) !important;color:#fff !important;border-color:var(--accent) !important;
}

/* ── ENCART "AUCUN RESULTAT" ────────────────────────
   Injecte par dx-mobile-ux-polish-v1.js en dehors du conteneur,
   d'ou sa largeur pleine fenetre. On le ramene a la largeur du
   corps de page, comme le footer et les cartes.               */
.dx-smart-empty{
  width:min(1120px,calc(100% - 40px)) !important;
  max-width:min(1120px,calc(100% - 40px)) !important;
  margin:20px auto 0 auto !important;
  box-sizing:border-box !important;
  border-radius:16px !important;
}

/* ── PIED DE PAGE ───────────────────────────────
   Le <style> contenu dans partials/footer.html ne s'applique
   pas sur les pages internes : d'ou les colonnes empilees et
   les liens en ligne. On repose les regles ici, dans une vraie
   feuille, calquees sur le footer de l'accueil.               */
html{background:var(--bg) !important}

[data-dx-footer]{
  background:transparent !important;
  border-top:1px solid var(--border) !important;
  padding:48px 0 28px !important;
  color:var(--text) !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
[data-dx-footer] .dxfIn{
  width:min(1120px,calc(100% - 40px)) !important;
  margin:0 auto !important;
}
[data-dx-footer] .dxfCols{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:32px !important;
}
[data-dx-footer] .dxfCol h4{
  font-size:12px !important;font-weight:800 !important;
  letter-spacing:.12em !important;text-transform:uppercase !important;
  color:var(--dx-navy) !important;margin:0 0 14px !important;
}
[data-dx-footer] .dxfCol a{
  display:block !important;font-size:13.5px !important;
  color:var(--muted) !important;padding:5px 0 !important;
  text-decoration:none !important;
}
[data-dx-footer] .dxfCol a:hover{color:var(--accent) !important}
[data-dx-footer] .dxfBottom{
  margin-top:34px !important;padding-top:20px !important;
  border-top:1px solid var(--border) !important;
  display:flex !important;flex-wrap:wrap !important;
  gap:12px !important;justify-content:space-between !important;
  font-size:12.5px !important;color:var(--muted) !important;
}
[data-dx-footer] .dxfBottom em{
  color:var(--accent) !important;font-style:italic !important;font-weight:700 !important;
}
@media(max-width:860px){
  [data-dx-footer] .dxfCols{grid-template-columns:1fr 1fr !important;gap:26px !important}
}
@media(max-width:480px){
  [data-dx-footer] .dxfCols{grid-template-columns:1fr !important}
}

/* ── MOBILE ────────────────────────────────────────────────── */
@media(max-width:820px){
  /* Photo claire, proportions respectees (cover, jamais de
     hauteur fixe qui l'ecrase). Texte compact en bas a gauche,
     pose sur un leger flou local, pas sur toute l'image.      */
  .dx-page-hero{
    min-height:248px !important;
    margin-top:0 !important;
    padding:76px 14px 18px !important;
    display:flex !important;
    align-items:flex-end !important;
    background-color:var(--dx-dark) !important;
    /* Deux couches : le degrade PAR-DESSUS la photo. Aucun
       pseudo-element, donc rien ne peut le neutraliser.       */
    background-image:
      linear-gradient(180deg,
        rgba(14,9,5,0) 48%, rgba(14,9,5,.30) 64%,
        rgba(14,9,5,.62) 82%, rgba(14,9,5,.82) 100%),
      url('/assets/img/hero-equipe-mobile.webp') !important;
    background-repeat:no-repeat, no-repeat !important;
    background-size:100% 100%, cover !important;
    background-position:center, center 30% !important;
  }
  /* Image nette partout. Flou uniquement dans la bande basse,
     la ou le texte se trouve.                                 */
  .dx-page-hero::before{display:none !important}
  .dx-page-hero::after{display:none !important}

  .dx-page-hero__inner{display:block !important;width:100% !important}
  /* Le flou est pose sous le seul bloc de texte, sans cadre ni
     bordure : le masque degrade annulait le backdrop-filter.  */
  .dx-page-hero__left{
    background:none !important;border:none !important;
    border-radius:0 !important;padding:0 !important;
    backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
    max-width:84% !important;
  }
  .dx-page-hero__eyebrow{font-size:10px !important;margin:0 0 3px !important}
  .dx-page-hero__title{
    font-size:22px !important;margin:0 !important;line-height:1.14 !important;
    text-shadow:0 1px 4px rgba(0,0,0,.55) !important;
  }
  .dx-page-hero__sub{
    font-size:12.5px !important;margin:5px 0 0 !important;line-height:1.45 !important;
    text-shadow:0 1px 4px rgba(0,0,0,.65) !important;
  }
  /* Le titre ne doit pas coller au bord de l'ecran */
  .dx-page-hero > .container,
  .dx-page-hero__wrap{
    width:100% !important;padding:0 !important;margin:0 !important;
  }
  /* La carte remontait de 76px, valeur prevue pour le bureau :
     sur un bandeau court, elle ecrasait toute la photo.        */
  main.dx-below-hero{margin-top:-18px !important}


}
