.cz-navbar{z-index:1041;padding:0}
.cz-navbar .cz-header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:72px;padding-top:10px;padding-bottom:10px}
.cz-header-actions{display:flex;align-items:center;gap:8px;flex:none}
.cz-navbar .cz-header-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:40px;min-height:40px;padding:8px 11px;line-height:1;border:1px solid #d7e6dc!important;border-radius:12px;box-shadow:none;background:#f5faf7;color:#17633b}
.cz-navbar .cz-header-button.btn-cityzen{background:#00853f;color:#fff;border-color:#00853f!important}
.cz-navbar .cz-header-button:hover,.cz-navbar .cz-header-button:focus-visible{background:#eaf7ef;color:#006b35}
.cz-navbar .cz-brand{font-size:1.1rem;line-height:1.2}
.cz-navbar .cz-brand small{font-size:.73rem;white-space:nowrap}
.cityzen-body:not(.cz-has-bottom-nav){padding-bottom:0!important}
.cz-bottom-nav>div{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important}
.cz-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:46px;min-width:0;font-size:.72rem;border-radius:12px;padding:5px 2px}
.cz-bottom-nav a.active{background:#eaf7ef}
.cz-bottom-nav a .badge{top:0;right:12px;font-size:.63rem}
.cz-bottom-nav a:focus-visible{outline:2px solid #00853f;outline-offset:-2px}
@media(max-width:575.98px){
  .cz-navbar .cz-header-inner{min-height:64px;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));gap:10px}
  .cz-navbar .cz-brand-logo{width:36px;height:36px;flex:none}
  .cz-navbar .cz-brand{font-size:1rem;gap:7px!important}
  .cz-navbar .cz-brand small{font-size:.67rem}
  .cz-header-actions{gap:5px}
  .cz-navbar .cz-header-button{width:36px;height:38px;min-width:36px;min-height:38px;padding:8px;gap:0;border-radius:11px;font-size:.92rem}
  .cz-navbar .cz-header-actions>.dropdown:last-child>.dropdown-menu{position:fixed!important;top:64px!important;left:12px!important;right:12px!important;width:auto!important;transform:none!important;max-height:calc(100dvh - 78px);overflow-y:auto}
  .cz-has-bottom-nav{padding-bottom:calc(78px + env(safe-area-inset-bottom))!important}
}
.cz-hamburger-menu{width:min(320px,calc(100vw - 20px));min-width:0;max-width:calc(100vw - 20px);max-height:75vh;overflow-y:auto;overflow-x:hidden;z-index:1042}
.cz-hamburger-menu .dropdown-item{white-space:normal;overflow-wrap:anywhere;padding:.68rem .9rem;display:flex;align-items:flex-start;line-height:1.3}
.cz-hamburger-menu .dropdown-item i{flex:none;margin-top:.12rem}
.cz-navbar .cz-container{min-width:0}
.cz-navbar .cz-brand{min-width:0;flex-shrink:1}
.cz-navbar .cz-brand > span{min-width:0}
.cz-navbar .cz-brand .d-block{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cz-navbar .dropdown-menu-end{right:0;left:auto}
.cz-catalog-nav{display:none!important}
.cz-hamburger-menu li+li{border-top:1px solid #deeadf}
.cz-catalog-nav{display:flex;gap:.4rem;overflow-x:auto;align-items:center;scrollbar-width:thin;padding:.55rem max(12px,calc((100vw - 1180px)/2))}
.cz-catalog-nav .cz-space-link{flex:none;white-space:nowrap;font-size:.84rem}
.cz-profile-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1.25rem}
.cz-profile-shortcuts a{text-decoration:none;color:inherit;min-height:92px;display:flex;flex-direction:column;gap:.4rem;justify-content:center}
.cz-profile-shortcuts a:hover{border-color:#0a8b56}
@media(max-width:767px){.cz-catalog-nav{display:none}.cz-profile-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.cz-hamburger-menu{position:fixed!important;left:12px!important;right:12px!important;width:auto!important;max-width:none!important;max-height:calc(100dvh - 85px);transform:none!important;z-index:1100!important}}
/* Le popper Bootstrap peut sortir du viewport sur les petits iPhone.
   Fixer le menu sous la barre et aligner chaque icône avec son libellé. */
@media(max-width:575.98px){
  .cz-navbar .cz-hamburger-menu[data-bs-popper]{
    position:fixed!important;
    inset:64px 12px auto 12px!important;
    transform:none!important;
    max-height:calc(100dvh - 78px);
  }
}
.cz-hamburger-menu .dropdown-item{align-items:center;gap:.55rem}
.cz-hamburger-menu .dropdown-item i{
  width:1.4rem;
  margin:0!important;
  text-align:center;
}

@media(max-width:575.98px){
  .cz-hamburger-menu.show{position:fixed!important;left:max(12px,env(safe-area-inset-left))!important;right:max(12px,env(safe-area-inset-right))!important;width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;transform:none!important;}
  #czNotificationBell .dropdown-menu.show{
    position:fixed!important;
    left:max(12px,env(safe-area-inset-left))!important;
    right:max(12px,env(safe-area-inset-right))!important;
    top:var(--cz-notification-top,64px)!important;
    width:auto!important;max-width:none!important;min-width:0!important;
    max-height:calc(100dvh - var(--cz-notification-top,64px) - 12px)!important;
    margin:0!important;transform:none!important;z-index:1100!important;
  }
}
