/* ==========================================================================
   Menu de navigation — remplace le widget nav-menu d'Elementor Pro.
   Valeurs reprises une a une des reglages du widget (id 1d8adad6).
   ========================================================================== */
.csr-nav-wrap{display:flex;align-items:center;justify-content:center;width:100%;position:static;}
/* Le panneau deroulant doit s'etendre sous TOUT l'en-tete, comme le widget Pro :
   on lui donne l'en-tete comme reference de positionnement. */
.elementor-location-header{position:relative;}

.csr-menu{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  list-style:none;margin:0;padding:0;}
.csr-menu > li{position:relative;margin:0;}
.csr-menu > li + li{margin-left:32px;}

.csr-menu a{display:flex;align-items:center;gap:6px;text-decoration:none;
  font-family:"Saira Condensed",Sans-serif;
  font-size:.9em;font-weight:600;line-height:1.3em;letter-spacing:.2px;
  text-transform:uppercase;color:#FFFFFF;
  padding:16px 0;position:relative;transition:color .2s ease;}
.csr-menu > li > a::after{content:"";position:absolute;left:0;bottom:6px;height:2px;width:0;
  background:#E4511B;transition:width .3s ease;}
.csr-menu > li > a:hover::after,
.csr-menu > li.current-menu-item > a::after,
.csr-menu > li.current-menu-ancestor > a::after{width:100%;}
.csr-menu a:hover,
.csr-menu > li.current-menu-item > a,
.csr-menu > li.current-menu-ancestor > a{color:#E4511B;}
.csr-menu .csr-caret{width:.72em;height:.72em;fill:currentColor;flex:0 0 auto;
  transition:transform .2s ease;}

/* --- sous-menus --- */
.csr-menu .sub-menu{position:absolute;top:100%;left:0;z-index:20;min-width:230px;
  list-style:none;margin:0;padding:0;background:#0C1015;border-radius:6px;overflow:hidden;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility .18s;}
.csr-menu > li:hover > .sub-menu,
.csr-menu > li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.csr-menu .sub-menu a{display:block;padding:10px 20px;color:#FFFFFF;
  font-family:"Saira Condensed",Sans-serif;font-size:16px;font-weight:500;
  line-height:1.3em;letter-spacing:0;text-transform:none;}
.csr-menu .sub-menu a::after{display:none;}
.csr-menu .sub-menu a:hover,
.csr-menu .sub-menu .current-menu-item > a{background:#E4511B;color:#FFFFFF;}

/* --- bouton hamburger ---
   Le theme stylise toutes les balises <button> (pilule orange, texte blanc).
   On neutralise, pour retrouver l'icone orange sur fond transparent du widget Pro. */
.csr-nav-wrap .csr-nav-toggle,
.csr-nav-wrap .csr-nav-toggle:hover,
.csr-nav-wrap .csr-nav-toggle:focus{
  display:none;background:none;background-color:transparent;border:0;border-radius:0;
  box-shadow:none;padding:0;margin:0;min-width:0;min-height:0;line-height:1;
  cursor:pointer;color:#E4511B;transition:color .2s ease;}
.csr-nav-wrap .csr-nav-toggle:hover{color:#FFFFFF;}
.csr-nav-toggle svg{width:1em;height:1em;fill:currentColor;display:block;
  /* CRUCIAL : sans ceci, l'appui vise le trace SVG et plusieurs navigateurs
     mobiles n'activent alors PAS le label -> le menu restait inerte. */
  pointer-events:none;}
.csr-nav-toggle svg *{pointer-events:none;}
.csr-nav-toggle .csr-icone-fermer{display:none;}
.csr-nav-bascule{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
/* zone de contact confortable pour le doigt */
.csr-nav-wrap .csr-nav-toggle{cursor:pointer;-webkit-tap-highlight-color:transparent;}
.csr-nav-bascule:checked ~ .csr-nav-toggle .csr-icone-menu{display:none;}
.csr-nav-bascule:checked ~ .csr-nav-toggle .csr-icone-fermer{display:block;}

/* --- tablette et mobile : panneau deroulant ---
   Valeurs relevees sur le widget Pro : entrees 16px/500/majuscules, padding 10/16,
   panneau borde de 20/12px (tablette) ou 16/12px (mobile) dans sa propre couleur. */
@media (max-width:1024px){
  .csr-nav-wrap{justify-content:flex-end;}
  .csr-nav-wrap .csr-nav-toggle{display:block;font-size:32px;}
  /* Panneau plein ecran : aucune mesure, aucun ancetre positionne en jeu. */
  .csr-menu{position:fixed;inset:0;z-index:99999;
    display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;
    background:#0C1015;padding:88px 12px 24px;box-sizing:border-box;
    overflow-y:auto;-webkit-overflow-scrolling:touch;}
  .csr-nav-bascule:checked ~ .csr-nav .csr-menu{display:flex;}
  /* la croix reste au-dessus du panneau */
  .csr-nav-bascule:checked ~ .csr-nav-toggle{position:fixed;top:24px;right:20px;z-index:100000;}
  /* sous-menus deplies d'office : pas de JavaScript pour les ouvrir */
  .csr-menu .sub-menu{display:block !important;}
  .csr-menu > li + li{margin-left:0;}
  .csr-menu a{justify-content:flex-start;gap:10px;padding:10px 16px;color:#FFFFFF;
    font-family:"Saira Condensed",Sans-serif;font-size:16px;font-weight:500;
    line-height:1.3em;letter-spacing:0;text-transform:uppercase;}
  .csr-menu > li > a::after{display:none;}
  .csr-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;
    display:none;border-radius:0;background:rgba(255,255,255,.05);min-width:0;}
  .csr-menu .sub-menu a{padding:10px 32px;text-transform:none;}
}
@media (max-width:767px){
  .csr-nav-wrap .csr-nav-toggle{font-size:28px;}
  .csr-menu{border-width:16px 12px;border-radius:4px;}
}
