.wsmm-trigger { display: none; }
.wsmm-dialog[hidden], .wsmm-dialog [hidden] { display: none !important; }
.wsmm-dialog {
  --wsmm-navy: #172a3b;
  --wsmm-white: #fbfbfb;
  --wsmm-accent: #63b2ac;
  position: fixed; inset: 0; z-index: 2147483000;
  box-sizing: border-box; overflow-y: auto; overscroll-behavior: contain;
  display: flex; flex-direction: column; background: var(--wsmm-white);
  color: var(--wsmm-navy); padding: 0 24px max(24px, env(safe-area-inset-bottom));
  font-family: inherit; -webkit-overflow-scrolling: touch;
}
.wsmm-dialog *, .wsmm-trigger { box-sizing: border-box; }
.wsmm-dialog a { color: inherit; text-decoration: none; }
.wsmm-dialog button { font: inherit; cursor: pointer; border: 0; box-shadow: none; color: inherit; background: transparent; }
.wsmm-dialog :is(a,button):focus-visible, .wsmm-trigger:focus-visible { outline: 2px solid #63b2ac; outline-offset: 4px; }
.wsmm-top { display:flex; align-items:center; justify-content:space-between; flex-shrink:0; min-height:88px; padding-top:env(safe-area-inset-top); border-bottom:1px solid #172a3b24; }
.wsmm-brand { display:block; width: min(61vw, 220px); }
.wsmm-brand img { display:block; width:100%; height:auto; filter: brightness(0) saturate(100%) invert(13%) sepia(22%) saturate(1274%) hue-rotate(167deg) brightness(94%) contrast(90%); }
.wsmm-dialog .wsmm-close { width:48px; height:48px; padding:0; font-family:Arial,sans-serif; font-size:38px; font-weight:300; line-height:1; }
.wsmm-eyebrow { margin:34px 0 18px; font-size:10px; font-weight:600; letter-spacing:2.3px; text-transform:uppercase; }
.wsmm-dialog ul { list-style:none; padding:0; margin:0; }
.wsmm-list { display:flex; flex-direction:column; gap:8px; }
.wsmm-row { display:flex; align-items:stretch; min-height:66px; border-bottom:1px solid #172a3b14; }
.wsmm-dialog .wsmm-link { display:flex; flex:1; align-items:center; padding:14px 12px; font-size:clamp(21px,6vw,29px); font-weight:700; line-height:1.15; text-transform:uppercase; letter-spacing:-.5px; }
.wsmm-active { background:var(--wsmm-accent); border-color:transparent; }
.wsmm-dialog .wsmm-expand { flex:0 0 48px; padding:0; font-size:28px; }
.wsmm-dialog .wsmm-submenu { padding:10px 12px 15px; }
.wsmm-dialog .wsmm-sublink { display:block; padding:12px; font-size:16px; font-weight:600; }
.wsmm-sublink[aria-current="page"] { background:#63b2ac30; }
.wsmm-bottom { margin-top:auto; padding-top:40px; }
.wsmm-dialog .wsmm-contact { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:58px; padding:17px 20px; color:#fbfbfb; background:#172a3b; font-size:14px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.wsmm-contact span { font-size:24px; line-height:1; }
.wsmm-signature { margin:24px 0 0; text-align:center; font-size:9px; letter-spacing:2.3px; text-transform:uppercase; opacity:.65; }
@media (max-width:767px) {
  html body #brx-header.wsmm-ready, html body #brx-header.wsmm-ready .ws-header-shell { background:#172a3b !important; }
  html body #brx-header.wsmm-ready .ws-header-logo img { filter:brightness(0) invert(1) !important; }
  html body #brx-header.wsmm-ready .bricks-mobile-menu-toggle,
  html body #brx-header.wsmm-ready .bricks-mobile-menu-wrapper,
  html body #brx-header.wsmm-ready .bricks-mobile-menu-overlay,
  html body #brx-header.wsmm-ready .bricks-nav-menu-wrapper { display:none !important; }
  html body #brx-header.wsmm-ready .wsmm-trigger { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px; width:48px; height:48px; border:0; padding:10px; background:transparent; cursor:pointer; }
  .wsmm-trigger span { display:block; width:26px; height:2px; background:#fbfbfb; }
}
@media (prefers-reduced-motion:no-preference) {
  .wsmm-dialog:not([hidden]) { animation:wsmm-enter .25s ease-out; }
  @keyframes wsmm-enter { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
}

/* Accueil : transparence au sommet, fond marine après 24 px de scroll.
   Le panneau du menu, ajouté au body, conserve son fond blanc. */
@media (max-width:767px) {
  html body.wsmm-front-page #brx-header.wsmm-ready:not(.wsmm-scrolled),
  html body.wsmm-front-page #brx-header.wsmm-ready:not(.wsmm-scrolled) .ws-header-shell {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  html body.wsmm-front-page #brx-header.wsmm-ready.wsmm-scrolled,
  html body.wsmm-front-page #brx-header.wsmm-ready.wsmm-scrolled .ws-header-shell {
    background: #172a3b !important;
  }
}
