/* 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:var(--mz-k,#000000);font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--mz-k,#000000);text-decoration:none}
a:hover{color:var(--mz-a,#F15C19)}
*{box-sizing:border-box}
img{display:block}
input,select,textarea,button{font-family:inherit}
@keyframes mzFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@keyframes mzRain{0%{transform:translateY(-110px) rotate(45deg);opacity:0}15%{opacity:1}82%{transform:translateY(124px) rotate(45deg);opacity:1}100%{transform:translateY(128px) rotate(45deg) scale(1.8,.3);opacity:0}}
@keyframes mzSplash{0%,80%{transform:translate(-50%,0) scale(.2);opacity:0}84%{opacity:.9}100%{transform:translate(-50%,0) scale(1.6);opacity:0}}
@keyframes mzScan{0%{top:4%}100%{top:94%}}
@keyframes mzSpin{to{transform:rotate(360deg)}}
@keyframes mzPulse{0%{transform:translate(-50%,-50%) scale(.5);opacity:.9}100%{transform:translate(-50%,-50%) scale(4);opacity:0}}
@keyframes mzBounce{0%{transform:translateY(0)}30%{transform:translateY(-16px)}55%{transform:translateY(0)}75%{transform:translateY(-6px)}100%{transform:translateY(0)}}
input.mz-ba{-webkit-appearance:none;appearance:none;background:transparent}
input.mz-ba::-webkit-slider-thumb{-webkit-appearance:none;width:44px;height:100%;cursor:ew-resize}

/* États hover (style-hover de la maquette) */
.mzh0:hover{background:#FFFFFF !important;color:var(--mz-k,#000000) !important}
.mzh1:hover{border-color:#FFFFFF !important;background:rgba(255,255,255,.1) !important;color:#FFFFFF !important}
.mzh2:hover{background:rgba(255,255,255,.18) !important}
.mzh3:hover{background:var(--mz-a,#F15C19) !important;color:#FFFFFF !important}
.mzh4:hover{border-color:var(--mz-a,#F15C19) !important;color:var(--mz-a,#F15C19) !important}
.mzh5:hover{background:var(--mz-k,#000000) !important;color:#FFFFFF !important}
.mzh6:hover{color:var(--mz-a,#F15C19) !important;padding-left:14px !important}
.mzh7:hover{color:var(--mz-a,#F15C19) !important}
.mzh8:hover{background:var(--mz-k,#000000) !important;border-color:var(--mz-k,#000000) !important;color:#FFFFFF !important}
.mzh9:hover{color:#FFFFFF !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}}

