/* Base (cadre de page du runtime) */
html,body{height:100%;margin:0}#mz-root,#mz-root>.mz-host{height:100%}
[data-off]{display:none!important}

/* Styles globaux de la maquette */
html{scroll-behavior:smooth}
body{margin:0;background:#FFFFFF;color:#000000;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased}
a{color:#000000;text-decoration:none}
a:hover{color:#F15C19}
*{box-sizing:border-box}
img{display:block}
/* Filtres par métier (armés par le script : sans script, les liens mènent aux sections et tout reste affiché) */
.rl-bar{position:sticky;top:0;z-index:20;padding:14px clamp(20px,5vw,72px);background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,0,0,.1);transition:top .35s}
.rl-chips{max-width:1280px;margin:0 auto;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.rl-chips::-webkit-scrollbar{display:none}
.rl-chip{flex:none;display:inline-flex;align-items:center;gap:10px;padding:11px 16px;border:1px solid #000000;background:#FFFFFF;color:#000000;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;transition:background .3s,color .3s}
.rl-chip .rl-n{font-weight:600;opacity:.55;letter-spacing:.06em}
.rl-chip:hover{color:#000000;background:#F4F4F4}
.rl-chip[aria-pressed="true"]{background:#000000;color:#FFFFFF}
.rl-chip[aria-pressed="true"] .rl-n{color:#F15C19;opacity:1}
.rl[data-filter]:not([data-filter="all"]) .rl-group{display:none}
.rl[data-filter="etancheite"] .rl-group[data-key="etancheite"],.rl[data-filter="couverture"] .rl-group[data-key="couverture"],
.rl[data-filter="zinguerie"] .rl-group[data-key="zinguerie"],.rl[data-filter="isolation"] .rl-group[data-key="isolation"],
.rl[data-filter="maconnerie"] .rl-group[data-key="maconnerie"]{display:block}
/* Grille des photos */
.rl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:clamp(22px,2.4vw,32px) clamp(12px,1.4vw,20px)}
.rl-item{margin:0;display:flex;flex-direction:column;gap:12px}
.rl-open{position:relative;display:block;width:100%;padding:0;border:0;background:#DDDDDD;cursor:zoom-in;aspect-ratio:4/5;overflow:hidden}
.rl-open img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.rl-open:hover img,.rl-open:focus-visible img{transform:scale(1.06)}
.rl-open:focus-visible{outline:3px solid #F15C19;outline-offset:3px}
.rl-open i{position:absolute;right:10px;bottom:10px;width:36px;height:36px;background:#F15C19;color:#FFFFFF;font-style:normal;font-size:18px;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s}
.rl-open:hover i,.rl-open:focus-visible i{opacity:1;transform:none}
.rl-cap{display:flex;flex-direction:column;gap:5px}
.rl-cap .rl-t,.rl-cap .rl-m{display:block}
.rl-cap .rl-t{font-weight:600;font-size:15px;line-height:1.4;color:#000000}
.rl-cap .rl-m{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;line-height:1.5;color:#595959}
/* Visionneuse */
.rl-lb{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.97);color:#FFFFFF;display:none;flex-direction:column}
.rl-lb.on{display:flex}
.rl-lb-top{display:flex;justify-content:space-between;align-items:center;padding:16px clamp(16px,3vw,32px);font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:#BFBFBF}
.rl-lb-top b{font-family:'Cormorant Garamond',serif;font-size:26px;letter-spacing:0;font-weight:400;color:#F15C19;margin-right:8px}
.rl-lb-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 clamp(8px,8vw,110px)}
.rl-lb-stage img{max-width:100%;max-height:100%;object-fit:contain;touch-action:pan-y}
.rl-lb-btn{width:52px;height:52px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#FFFFFF;font-size:18px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;transition:background .3s,color .3s,border-color .3s}
.rl-lb-btn:hover{background:#FFFFFF;color:#000000;border-color:#FFFFFF}
.rl-lb-nav{position:absolute;top:50%;margin-top:-26px}
.rl-lb-prev{left:clamp(8px,2vw,32px)}.rl-lb-next{right:clamp(8px,2vw,32px)}
.rl-lb-cap .rl-t,.rl-lb-cap .rl-m{display:block}
.rl-lb-cap{padding:18px clamp(16px,3vw,32px) 26px;max-width:1100px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:6px;text-align:center}
.rl-lb-cap .rl-t{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(22px,2.4vw,32px);line-height:1.2}
.rl-lb-cap .rl-m{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#A6A6A6}
@media (max-width:760px){.rl-lb-nav{top:auto;bottom:14px;margin:0}.rl-lb-stage{padding:0 8px 76px}}
@media (max-width:600px){.rl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px}.rl-cap .rl-t{font-size:13px}.rl-cap .rl-m{font-size:9px;letter-spacing:.12em}.rl-open i{display:none}}
@media (prefers-reduced-motion:reduce){.rl-open img,.rl-open i{transition:none}}

/* États hover (style-hover de la maquette) */
.mzh0:hover{color:#FFFFFF !important}
.mzh1:hover{background:#FFFFFF !important;color:#000000 !important}
.mzh2:hover{border-color:#FFFFFF !important;background:rgba(255,255,255,.1) !important;color:#FFFFFF !important}
.mzh3:hover{background:#000000 !important;color:#FFFFFF !important}
.mzh4:hover{color:#F15C19 !important}

/* Responsive commun */
/* Très petits écrans : en-tête compact, le bouton menu reste entièrement visible */
@media (max-width:359px){
  header[style]{gap:10px!important;padding-left:14px!important;padding-right:14px!important}
  header nav{gap:8px!important}
  header nav>a[href$="contact"]{padding:12px!important;font-size:9.5px!important;letter-spacing:.08em!important}
  header nav>button{width:44px!important;height:44px!important}
}
/* Cartes des communes : sur petit écran, seuls les points ; étiquette pour la ville mise en avant ou survolée (la liste à côté porte les liens) */
@media (max-width:600px){.mz-chip:not(.on){display:none}}
/* Fil d'Ariane : zone tactile confortable */
@media (max-width:767px){nav[aria-label="Fil d'Ariane"] a{display:inline-block;padding:14px 0;margin:-14px 0}}

