/* Renov Prim v5 - méga-menu commun (Nos prestations / Professionnels) */
.nav .menu{align-self:stretch;align-items:center}
.menu .dd{height:100%;display:flex;align-items:center}
.menu .dd>a{display:inline-flex;align-items:center;gap:7px}
.menu .dd>a .chev{width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .3s}
.menu .dd:hover>a .chev,.menu .dd:focus-within>a .chev{transform:rotate(225deg) translateY(-1px)}
.menu a.actif:after{right:0}
.menu .mega{position:absolute;left:0;right:0;top:100%;background:var(--blanc);border-top:1px solid var(--pierre);border-bottom:1px solid var(--pierre);box-shadow:0 30px 50px -30px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s,transform .25s,visibility 0s .25s}
.menu .dd:hover .mega,.menu .dd:focus-within .mega{opacity:1;visibility:visible;transform:none;transition:opacity .25s,transform .25s,visibility 0s}
.mega-in{max-width:var(--max);margin:0 auto;padding:46px 40px 40px;display:grid;gap:40px}
.mega-5{grid-template-columns:repeat(5,1fr)}
.mega-pro{grid-template-columns:5fr 7fr;align-items:start}
.mega-col .mega-t{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--rouge);padding-bottom:14px;margin-bottom:10px;border-bottom:1px solid var(--pierre);line-height:1.6}
.menu .mega a{display:block;text-transform:none;letter-spacing:0;font-family:var(--serif);font-size:20px;font-weight:500;line-height:1.25;padding:8px 0;color:var(--encre);transition:color .2s,padding-left .25s}
.menu .mega a:after{display:none}
.menu .mega a:hover{color:var(--rouge);padding-left:6px}
.mega-bas{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:24px;border-top:1px solid var(--pierre)}
.mega-bas p{font-size:13.5px;color:var(--gris-fonce)}
.menu .mega a.mega-tout{display:inline-flex;font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid var(--noir);padding:0 0 5px}
.menu .mega a.mega-tout:hover{padding-left:0;color:var(--noir)}
.mega-pro .mega-intro .t{font-family:var(--serif);font-size:30px;line-height:1.15;margin-bottom:12px}
.mega-pro .mega-intro p{font-size:14.5px;color:var(--gris-fonce);max-width:380px}
.mega-pro .mega-liste{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
.menu .mega-pro .mega-liste a{border-bottom:1px solid var(--pierre);padding:14px 0}
.dd-tog{display:none}
@media(max-width:1180px){.mega-in{gap:26px;padding:40px 30px 34px}.menu .mega a{font-size:18px}}
@media(max-width:960px){
  header.ouvert .menu{max-height:calc(100vh - 84px);overflow-y:auto}
  .nav .menu{align-self:auto}
  .menu .dd{display:grid;grid-template-columns:1fr 44px;align-items:center;height:auto;border-bottom:1px solid var(--pierre)}
  header.ouvert .menu .dd>a{border-bottom:0}
  .menu .dd>a .chev{display:none}
  .dd-tog{display:block;background:none;border:0;height:44px;cursor:pointer;position:relative}
  .dd-tog:before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-right:1px solid var(--noir);border-bottom:1px solid var(--noir);transform:translate(-50%,-70%) rotate(45deg);transition:transform .3s}
  .dd.on .dd-tog:before{transform:translate(-50%,-30%) rotate(225deg)}
  .menu .mega{position:static;grid-column:1/-1;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;transition:none}
  .menu .dd:hover .mega,.menu .dd:focus-within .mega{display:none}
  .menu .dd.on .mega{display:block}
  .mega-in,.mega-5,.mega-pro{display:block;padding:0 0 14px}
  .mega-col{margin-top:14px}
  .mega-col .mega-t{padding-bottom:6px;margin-bottom:2px}
  header.ouvert .menu .mega a{border-bottom:0;padding:7px 0 7px 10px;font-size:18px}
  .mega-pro .mega-intro{display:none}
  .mega-pro .mega-liste{display:block}
  .mega-bas{padding-top:12px;margin-top:10px}.mega-bas p{display:none}
  header.ouvert .menu .mega a.mega-tout{padding:0 0 5px;margin-left:10px}
}
/* En-tête sur une seule ligne */
.nav{gap:32px}
.menu{gap:26px}
.menu>a,.menu .dd>a{white-space:nowrap}
.mega-5 .mega-col .mega-t{min-height:50px;display:flex;align-items:flex-end}
@media(max-width:1380px) and (min-width:961px){.nav{gap:22px}.menu{gap:18px}.menu>a,.menu .dd>a{font-size:11.5px;letter-spacing:.07em}.nav-actions{gap:16px}.nav-actions .btn{padding:14px 18px}}
@media(max-width:1180px) and (min-width:961px){.menu{gap:14px}.menu>a,.menu .dd>a{letter-spacing:.04em}}
@media(max-width:960px){.mega-5 .mega-col .mega-t{min-height:0;display:block}}
@media(max-width:960px){
  header.ouvert .menu{align-items:stretch;padding-bottom:80px}
  header.ouvert .menu a:after{display:none}
  header.ouvert .menu a.actif{font-weight:600}
}

/* Bandeau du haut (repris de renovprim.fr) */
.demo.topbar{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;padding:9px 16px;font-size:11px;letter-spacing:.14em}
.demo.topbar a{color:#fff}
.demo.topbar .tb-sep{width:1px;height:12px;background:rgba(255,255,255,.25)}
.demo.topbar .tb-cta{font-weight:600;border-bottom:1px solid var(--rouge,#DF413D);padding-bottom:2px}
.demo.topbar .tb-cta:hover{color:var(--rouge,#DF413D)}
@media(max-width:700px){.demo.topbar .tb-hide{display:none}.demo.topbar{gap:12px;letter-spacing:.08em;font-size:10.5px}}

/* Correctifs SEO : intitulés non titrés, texte masqué accessible */
.mega-col .mega-t{margin:0}
.f-grid p.f-t{margin:0 0 20px;max-width:none;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--blanc)}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pg-villes span{font-family:var(--serif);font-size:20px;border-bottom:1px solid var(--pierre)}
