/* nav-accueil.css — 19/10/2026 : barre du haut de l'accueil, pour les pages qui passent de la colonne de gauche au menu du haut (choix 1 de Cindy).
   Repris de assets/gabarit-mdf.css (blocs « barre de navigation de l'accueil » et habillage du menu du téléphone), sans les règles de page.
   Chargée avant menu-mdf.css. */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(31,41,55,.08);
  height:56px;
}
.nav-in{
  max-width:1280px;margin:0 auto;
  padding:0 2rem;height:100%;
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
}
.nav-brand{display:flex;align-items:center;gap:.7rem}
.nav-logo{
  width:30px;height:30px;
  background:#C4232B;color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:.9rem;
  position:relative;
  flex-shrink:0;
}
.nav-losange{
  position:absolute;inset:-4px;
  border:1.5px solid #C4232B;
  transform:rotate(45deg);
  pointer-events:none;
}
.nav-brand-txt{display:flex;flex-direction:column;line-height:1}
.nav-brand-txt strong{font-size:.95rem;font-weight:900;color:#1F2937}
.nav-brand-txt small{font-size:.56rem;font-weight:500;letter-spacing:.2em;color:#4B5563;text-transform:uppercase;margin-top:2px}
.nav-logo-mark{display:inline-block;line-height:1;white-space:nowrap}
.nlm-l1{text-align:right;margin-bottom:1px}
.nlm-la{font-weight:400;font-size:11px;color:#9CA3AF;margin-right:2px}
.nlm-md{font-weight:600;font-size:13px;color:#1F2937}
.nlm-l2{text-align:left;line-height:1}
.nlm-fr{font-weight:800;font-size:28px;color:#C4232B}
.nlm-los{display:inline-block;width:5px;height:5px;background:#C4232B;transform:rotate(45deg);margin-left:-1px;margin-bottom:1px;vertical-align:baseline}
.nav-links{display:flex;gap:.2rem;align-items:center}
.nav-link{
  font-size:.66rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:#4B5563;
  padding:.5rem .85rem;
  transition:color .35s;
}
.nav-link:hover{color:#1F2937}
.nav-cta{
  padding:.65rem 1.2rem;background:#C4232B;color:#fff;
  font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  transition:background .35s;
}
.nav-cta:hover{background:#A51C23}
.nav-burger{display:none;width:32px;height:32px;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}
.nav-burger span{height:1.5px;background:#1F2937;transition:transform .35s,opacity .25s}
.nav-burger.on span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-burger.on span:nth-child(2){opacity:0}
.nav-burger.on span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.nav-mobile{
  display:none;position:fixed;top:56px;left:0;right:0;bottom:0;
  background:#fff;border-top:1px solid rgba(31,41,55,.08);
  padding:1.2rem 1.8rem 2rem;z-index:500;
  flex-direction:column;gap:.55rem;
  font-size:.82rem;font-weight:600;
  overflow-y:auto;
}
.nav-mobile.on{display:flex}
@media(max-width:980px){.nav-links{display:none}.nav-burger{display:flex}}
@media(max-width:640px){.nav-in{padding:0 1rem;gap:.6rem}.nav-cta{padding:.5rem .85rem;font-size:.58rem;letter-spacing:.05em}}
.nav-item{position:relative;display:inline-flex;align-items:center}
.nav-item.has-mega .nav-link::after{content:' \25BE';font-size:.6em;opacity:.6;margin-left:.2em}
.mega-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(-6px);background:#1F2937;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);padding:2.2rem 4vw;opacity:0;visibility:hidden;transition:opacity .25s ease,transform .25s ease,visibility .25s;z-index:99;box-shadow:0 30px 60px rgba(0,0,0,.4);width:100vw;max-width:1280px}
.nav-item.has-mega:hover .mega-menu,.nav-item.has-mega:focus-within .mega-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.mm-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:stretch}
.mm-list{display:flex;flex-direction:column;gap:.2rem}
.mm-list-cat{font-size:.56rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.4);padding:1rem .5rem .5rem;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:.4rem}
.mm-list-cat:first-child{padding-top:0}
.mm-item{display:flex;align-items:flex-start;gap:.85rem;padding:.85rem 2rem .85rem .8rem;border-radius:8px;text-decoration:none;color:inherit;transition:all .15s;position:relative}
.mm-item::after{content:'\2192';position:absolute;right:.9rem;top:50%;transform:translateY(-50%);font-size:.95rem;font-weight:700;color:rgba(255,255,255,.25);transition:color .2s,right .2s}
.mm-item:hover{background:rgba(196,35,43,.08)}
.mm-item:hover::after{color:#C4232B;right:.7rem}
.mm-item:hover .mm-item-ico svg{stroke:#C4232B}
.mm-item:hover .mm-item-t{color:#C4232B}
.mm-item-ico{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04);border-radius:6px}
.mm-item-ico svg{width:14px;height:14px;stroke:rgba(255,255,255,.65);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:stroke .15s}
.mm-item-t{font-size:.82rem;font-weight:700;color:#fff;line-height:1.25;margin-bottom:.15rem;letter-spacing:-.005em;transition:color .15s}
.mm-item-d{font-size:.68rem;color:rgba(255,255,255,.5);line-height:1.4;font-weight:400}
.mm-preview{background:linear-gradient(135deg,#0d1520 0%,#1F2937 100%);border-radius:14px;padding:2rem 1.8rem;display:flex;flex-direction:column;justify-content:space-between;min-height:300px;border:1px solid rgba(192,154,75,.18);position:relative;overflow:hidden}
.mm-preview::after{content:'';position:absolute;bottom:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(196,35,43,.18) 0%,transparent 70%);pointer-events:none}
.mm-preview-eyebrow{font-size:.58rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#C09A4B;margin-bottom:.7rem;position:relative}
.mm-preview-t{font-size:1.6rem;font-weight:900;color:#fff;line-height:1.15;margin-bottom:.7rem;letter-spacing:-.015em;position:relative}
.mm-preview-t em{color:#C4232B;font-style:italic}
.mm-preview-d{font-size:.8rem;color:rgba(255,255,255,.62);line-height:1.6;margin-bottom:1rem;position:relative}
.mm-preview-feats{list-style:none;padding:0;margin:0 0 1.2rem;display:flex;flex-direction:column;gap:.5rem;position:relative}
.mm-preview-feats li{display:flex;align-items:center;gap:.6rem;font-size:.74rem;color:rgba(255,255,255,.78);font-weight:500}
.mm-preview-feats li svg{width:14px;height:14px;flex-shrink:0;stroke:#C09A4B;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.mm-preview-trust{display:flex;gap:1.6rem;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.08);margin-bottom:1.3rem;position:relative}
.mm-preview-trust-it strong{display:block;font-size:1.15rem;font-weight:900;color:#C4232B;line-height:1;margin-bottom:.15rem}
.mm-preview-trust-it span{font-size:.58rem;font-weight:600;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.1em}
.mm-preview-cta{display:inline-flex;align-items:center;gap:.5rem;background:#C4232B;color:#fff;padding:.75rem 1.3rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;border-radius:6px;transition:background .2s,gap .2s;align-self:flex-start;position:relative}
.mm-preview-cta:hover{background:#A51C23;color:#fff;gap:.7rem}
@media(max-width:1023px){.mega-menu{display:none}.nav-item.has-mega .nav-link::after{display:none}}
/* page sans colonne : le contenu prend toute la largeur, la barre reste en haut */
.main,main.main{margin-left:0!important;margin-top:0!important}
.nav,nav.nav{position:sticky;top:0;z-index:300}
.nav .nav-cta{background:transparent;color:#C4232B;border:2px solid #C4232B;box-shadow:none;text-decoration:none}
.nav .nav-cta:hover{background:#C4232B;color:#fff}
.nav a{text-decoration:none}
.mega-menu{max-width:min(1120px,calc(100vw - 3rem))}
html,body{overflow-x:clip}
/* 02/10/2026 · menu du téléphone : le flou d'arrière-plan posé sur la barre en faisait le cadre du menu (position:fixed),
   qui s'ouvrait sur la hauteur de la barre (52 px) au lieu de tout l'écran. Le flou passe sur un calque ::before. */
nav.nav{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
nav.nav::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
/* 02/10/2026 · habillage du menu du téléphone, repris de l'accueil (il manquait ici : le menu ne s'ouvrait pas, personne ne le voyait) */
.nav-mobile a{color:#1F2937;text-decoration:none}
.nm-sep{height:1px;background:rgba(31,41,55,.08);margin:.4rem 0}
.nm-themes-lbl{font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(31,41,55,.4);padding:.2rem 0 .1rem}
.nm-acc{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;cursor:pointer;color:#1F2937;font-weight:700;font-size:.82rem;font-family:inherit;user-select:none;border:none;background:none;width:100%;text-align:left}
.nm-acc svg{transition:transform .25s;flex-shrink:0;opacity:.5}
.nm-acc.open svg{transform:rotate(180deg);opacity:1}
.nm-sub{display:none;flex-direction:column;gap:.1rem;padding:.3rem 0 .6rem .8rem;border-left:2px solid rgba(196,35,43,.2)}
.nm-acc.open + .nm-sub{display:flex}
.nm-sub a{font-size:.78rem;font-weight:600;color:rgba(31,41,55,.7);padding:.3rem .4rem;text-decoration:none;border-radius:5px;transition:color .15s,background .15s}
.nm-sub a:hover{color:#C4232B;background:rgba(196,35,43,.05)}
/* 02/10/2026 · bouton de menu sans cadre, comme sur l'accueil (le bouton gardait la bordure et le fond par défaut du navigateur) */
button.nav-burger{border:0;background:none;padding:0}
