/* =========================================================
   PSX NAV V4 — CSS CLEAN (desktop + mobile)
   HTML ciblé: header#psx-nav + #psx-nav-spacer
   ========================================================= */

/* =========================================================
   TOKENS
   ========================================================= */
#psx-nav{
  --ps-blue:#466781;
  --ps-amber:#C7A46D;
  --ps-amber-soft:#EFE3D1;

  --ps-ink:#132734;                 /* texte principal */
  --ps-ink-2:rgba(19,39,52,.82);    /* texte secondaire */
  --ps-ink-3:rgba(19,39,52,.62);    /* muted */

  --ps-line:rgba(19,39,52,.14);
  --ps-line-2:rgba(19,39,52,.09);

  --ps-hover:rgba(70,103,129,.10);
  --ps-hover-2:rgba(70,103,129,.14);

  --ps-glass:rgba(255,255,255,.88);
  --ps-radius:22px;
}

/* =========================================================
   RESETS (anti Divi) — SAFE
   ========================================================= */
#psx-nav, #psx-nav *{ box-sizing:border-box; }
#psx-nav ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
#psx-nav li{ list-style:none !important; margin:0 !important; }
#psx-nav li::before, #psx-nav li::after{
  content:none !important;
  background:none !important;
}

/* important : ne pas tuer le ::after des .psx-link (liseré) */
#psx-nav a:not(.psx-link)::before,
#psx-nav a:not(.psx-link)::after{
  content:none !important;
  background:none !important;
}

#psx-nav{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }

/* =========================================================
   HEADER POSITION + BACKGROUND (normal + stuck)
   ========================================================= */
#psx-nav{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 99999;

  background:
    radial-gradient(1200px 360px at 14% 18%, rgba(199,164,109,.12), transparent 60%),
    radial-gradient(1000px 360px at 88% 12%, rgba(70,103,129,.20), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(244,248,252,.88));

  border-bottom: 1px solid rgba(70,103,129,.14);
  backdrop-filter: blur(14px);
  box-shadow: none;
  isolation: isolate;
}

/* Couche sticky (diff visible sans layout shift) */
#psx-nav::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:0;
  transition: opacity .18s ease;
  background:
    radial-gradient(1200px 360px at 14% 18%, rgba(199,164,109,.18), transparent 56%),
    radial-gradient(1000px 360px at 88% 12%, rgba(70,103,129,.24), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.995), rgba(238,244,250,.96));
}

#psx-nav.psx-is-stuck::before{ opacity:1; }

#psx-nav.psx-is-stuck{
  border-bottom-color: rgba(70,103,129,.22);
  box-shadow:
    0 14px 40px rgba(15,31,42,.14),
    0 1px 0 rgba(255,255,255,.55) inset;
  filter: saturate(1.12) contrast(1.06);
}

/* =========================================================
   WRAP / BRAND
   ========================================================= */
#psx-nav .psx-nav__wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 18px;

  position: relative;
  z-index: 1;

  padding: 10px 0; /* constant = pas de tremblement */
}

#psx-nav .psx-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  min-width: 240px;
}

#psx-nav .psx-brand__logo{ height:62px; width:auto; display:block; }
#psx-nav .psx-brand__txt{ display:flex; flex-direction:column; line-height:1.05; }

#psx-nav .psx-brand__name{
  font-weight:900;
  font-size:18px;
  color: var(--ps-blue);
  letter-spacing:.15px;
}
#psx-nav .psx-brand__sub{
  font-weight:900;
  font-size:14px;
  color: rgba(19,39,52,.70);
}
#psx-nav .psx-brand__sub::after{
  content:"";
  display:block;
  width:34px;
  height:2px;
  margin-top:6px;
  border-radius:99px;
  background: rgba(199,164,109,.85);
}

/* =========================================================
   DESKTOP NAV (top)
   ========================================================= */
#psx-nav .psx-desktop{ flex: 1 1 auto; }

#psx-nav .psx-menu{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 16px;
}

#psx-nav .psx-link{
  display:inline-flex;
  align-items:center;
  gap:10px;

  position: relative;
  padding: 12px 14px;
  border-radius: 12px;

  font-weight: 900;
  font-size: 16px;
  color: rgba(70,103,129,.95);
  text-decoration:none;

  background: transparent;
  border: 1px solid transparent;

  transition:
    background .16s ease,
    color .16s ease,
    border-color .16s ease;
  transform: none !important;
}

/* hover top links */
#psx-nav .psx-link:hover{
  background: rgba(70,103,129,.08);
  border-color: rgba(70,103,129,.16);
  color: rgba(16,36,50,.98);
  box-shadow: none;
}

/* underline ambre (signature) */
#psx-nav .psx-link::after{
  content:"";
  position:absolute;
  left: 14px;
  right: 14px;
  bottom: 7px;
  height: 2px;
  border-radius: 99px;
  background: rgba(199,164,109,0);
  transform: scaleX(.25);
  transform-origin: left;
  transition: transform .16s ease, background .16s ease;
  pointer-events:none;
}
#psx-nav .psx-link:hover::after{
  background: rgba(199,164,109,.95);
  transform: scaleX(1);
}

/* séparateurs desktop */
@media (min-width:1201px){
  #psx-nav .psx-item{ position:relative; }
  #psx-nav .psx-item + .psx-item::before{
    content:"";
    position:absolute;
    left: -2px;
    top: 50%;
    width: 1px;
    height: 18px;
    transform: translateY(-50%);
    background: rgba(16,36,50,.10);
  }
}

/* chevron ambre */
#psx-nav .psx-chev{
  width: 10px;
  height: 10px;
  border-right: 2.5px solid rgba(199,164,109,.98);
  border-bottom: 2.5px solid rgba(199,164,109,.98);
  transform: rotate(45deg) translateY(-1px);
  transition: transform .16s ease, border-color .16s ease;
}
/* chevron change de couleur au hover / open */
#psx-nav .psx-dd:hover > .psx-link .psx-chev,
#psx-nav .psx-dd.is-open > .psx-link .psx-chev{
  border-right-color: var(--ps-blue);
  border-bottom-color: var(--ps-blue);
}

/* dropdown states */
#psx-nav .psx-dd{ position:relative; }

#psx-nav .psx-dd:hover > .psx-link,
#psx-nav .psx-dd.is-open > .psx-link{
  background: rgba(70,103,129,.08);
  border-color: rgba(70,103,129,.16);
  color: rgba(16,36,50,.98);
}

#psx-nav .psx-dd:hover > .psx-link::after,
#psx-nav .psx-dd.is-open > .psx-link::after{
  background: rgba(199,164,109,.95);
  transform: scaleX(1);
}

#psx-nav .psx-dd:hover > .psx-link .psx-chev,
#psx-nav .psx-dd.is-open > .psx-link .psx-chev{
  transform: rotate(-135deg) translateY(2px);
}

/* focus keyboard */
#psx-nav .psx-link:focus-visible{
  outline: 0;
  box-shadow: 0 0 0 3px rgba(70,103,129,.20);
  border-color: rgba(70,103,129,.22);
}

/* =========================================================
   ACTIONS + CTA
   ========================================================= */
#psx-nav .psx-actions{ display:flex; align-items:center; gap:12px; }

#psx-nav .psx-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 16px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 15px;
  text-decoration:none;
  border: 1px solid transparent;
  white-space:nowrap;
}

#psx-nav .psx-btn--primary{
  background: linear-gradient(180deg, rgba(70,103,129,1), rgba(70,103,129,.86));
  color:#fff;
  border-color: rgba(70,103,129,.22);
  box-shadow: 0 16px 34px rgba(70,103,129,.18);
}
#psx-nav .psx-btn--primary:hover{ filter: brightness(1.02); }

#psx-nav .psx-btn--full{ width:100%; padding: 14px 18px; }


@media (max-width:1200px){
  #psx-nav .psx-btn--primary{
    padding: 10px 14px;
    font-size: 14px;
    box-shadow: 0 10px 22px rgba(70,103,129,.14);
  }
}



/* =========================================================
   BURGER
   ========================================================= */
#psx-nav .psx-burger{
  width:48px;height:48px;
  border-radius:999px;
  border:1px solid var(--ps-line-2);
  background: rgba(255,255,255,.76);
  display:none;
  position:relative;
  cursor:pointer;
}
#psx-nav .psx-burger span{
  position:absolute; left:50%;
  width:18px; height:2px;
  background: var(--ps-blue);
  border-radius:2px;
  transform: translateX(-50%);
  transition: transform .18s ease, opacity .18s ease;
}
#psx-nav .psx-burger span:nth-child(1){ transform: translateX(-50%) translateY(-6px); }
#psx-nav .psx-burger span:nth-child(2){ transform: translateX(-50%) translateY(0); }
#psx-nav .psx-burger span:nth-child(3){ transform: translateX(-50%) translateY(6px); }
#psx-nav .psx-burger[aria-expanded="true"] span:nth-child(1){ transform: translateX(-50%) translateY(0) rotate(45deg); }
#psx-nav .psx-burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
#psx-nav .psx-burger[aria-expanded="true"] span:nth-child(3){ transform: translateX(-50%) translateY(0) rotate(-45deg); }

/* =========================================================
   DROPDOWNS — MEGA
   ========================================================= */
#psx-nav .psx-mega{
  position:absolute;
  left:50%;
  top: calc(100% + 14px);
  transform: translateX(-50%) translateY(6px);
  width: min(980px, 92vw);
  opacity: 0;
  pointer-events: none;
  transition: opacity .16s ease, transform .16s ease;
}
#psx-nav .psx-dd.is-open .psx-mega,
#psx-nav .psx-dd:hover .psx-mega{
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

#psx-nav .psx-mega__inner{
  border: 1px solid rgba(19,39,52,.14);
  border-radius: 26px;
  background:
    radial-gradient(1100px 420px at 16% 14%, rgba(199,164,109,.16), transparent 60%),
    radial-gradient(1000px 420px at 88% 12%, rgba(70,103,129,.10), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.92));
  box-shadow: 0 26px 80px rgba(0,0,0,.16);
  overflow:hidden;
  padding: 16px;
}

#psx-nav .psx-mega__grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 14px;
}

/* kicker "Les modules" */
#psx-nav .psx-mega__kicker{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight: 900;
  color: rgba(19,39,52,.62);
  font-size: 12.8px;
  letter-spacing:.42px;
  text-transform: uppercase;
  margin: 2px 0 10px 2px;
}
#psx-nav .psx-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background: var(--ps-amber);
  opacity:.95;
}

/* row module */
#psx-nav .psx-mega__row{
  display:flex;
  align-items:center;
  gap:12px;

  padding: 12px;
  border-radius: 18px;

  border: 1px solid rgba(15,31,42,.08);
  background: rgba(255,255,255,.78);
  text-decoration:none;

  transition: transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
}
@media (min-width:1201px){
  #psx-nav .psx-mega__row{ margin-bottom: 10px; }
  #psx-nav .psx-mega__row:last-child{ margin-bottom: 0; }
}

#psx-nav .psx-mega__row:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.92);
  border-color: rgba(70,103,129,.24);
  box-shadow: 0 14px 34px rgba(15,31,42,.10);
}

#psx-nav .psx-ic{
  width:44px;height:44px;
  border-radius: 999px;
  display:flex;align-items:center;justify-content:center;
  background: rgba(70,103,129,.10);
  border:1px solid rgba(70,103,129,.16);
  flex: 0 0 auto;
}
#psx-nav .psx-ic i{ color: var(--ps-blue); font-size: 18px; }

#psx-nav .psx-row__txt{ display:flex; flex-direction:column; min-width:0; }
#psx-nav .psx-row__t{ font-weight: 900; color: var(--ps-ink); line-height:1.15; }
#psx-nav .psx-row__s{ margin-top:4px; color: rgba(19,39,52,.62); font-size: 14.2px; line-height:1.55; }
#psx-nav .psx-row__go{ margin-left:auto; color: rgba(70,103,129,.85); }

#psx-nav .psx-mega__row:hover .psx-row__go{ color: rgba(199,164,109,.95); }
#psx-nav .psx-mega__row:hover .psx-ic{
  background: rgba(199,164,109,.14);
  border-color: rgba(199,164,109,.28);
}

/* =========================================================
   MEGA — ASIDE
   ========================================================= */
#psx-nav .psx-mega__aside{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding-left: 2px;
}

#psx-nav .psx-aside__badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 12px 14px;
  border-radius: 999px;
  background:
    radial-gradient(520px 140px at 18% 30%, rgba(199,164,109,.18), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.86));
  border: 1px solid rgba(70,103,129,.16);
  box-shadow: 0 12px 26px rgba(15,31,42,.08);
  color: rgba(19,39,52,.86);
  font-weight: 900;
  font-size: 14px;
}

#psx-nav .psx-aside__card{
  border-radius: 24px;
  border: 1px solid rgba(19,39,52,.10);
  background:
    radial-gradient(900px 260px at 16% 14%, rgba(70,103,129,.10), transparent 60%),
    radial-gradient(520px 180px at 92% 20%, rgba(199,164,109,.14), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.88));
  box-shadow: 0 22px 60px rgba(15,31,42,.10);
  padding: 18px;
}

#psx-nav .psx-aside__title{
  font-weight: 900;
  color: rgba(19,39,52,.92);
  font-size: 18px;
  letter-spacing: .1px;
}
#psx-nav .psx-aside__text{
  margin-top:8px;
  color: rgba(19,39,52,.68);
  line-height: 1.6;
  font-size: 15px;
}

#psx-nav .psx-aside__list{
  margin: 12px 0 0 0;
  padding: 0;
  list-style:none;
  display:grid;
  gap: 10px;
}
#psx-nav .psx-aside__list li{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 11px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(15,31,42,.06);
  box-shadow: 0 10px 20px rgba(15,31,42,.06);
  font-weight: 900;
  color: rgba(19,39,52,.82);
  font-size: 14.4px;
}
#psx-nav .psx-aside__list i{ color: var(--ps-blue); font-size: 16px; }

/* =========================================================
   DROPDOWNS — POP ("À propos")
   ========================================================= */
#psx-nav .psx-pop{
  position:absolute;
  left:0;
  top: calc(100% + 12px);
  width: min(360px, 90vw);
  opacity:0;
  pointer-events:none;
  transform: translateY(6px);
  transition: opacity .16s ease, transform .16s ease;

  border: 1px solid var(--ps-line);
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 22px 70px rgba(0,0,0,.14);
  padding: 10px;
}
#psx-nav .psx-dd.is-open .psx-pop,
#psx-nav .psx-dd:hover .psx-pop{
  opacity:1;
  pointer-events:auto;
  transform: translateY(0);
}

#psx-nav .psx-pop a{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 11px 12px;
  border-radius: 14px;
  text-decoration:none;
  font-weight: 900;
  color: var(--ps-ink-2);
  border: 1px solid transparent;
}

#psx-nav .psx-pop a i{
  color: rgba(70,103,129,.85);
  font-size: 16px;
  transition: color .14s ease;
}

#psx-nav .psx-pop a:hover{
  background: rgba(70,103,129,.08);
  border-color: rgba(70,103,129,.14);
  color: var(--ps-ink);
}

/* icône ambre au hover (desktop) */
@media (min-width:1201px){
  #psx-nav .psx-pop a:hover i{
    color: rgba(199,164,109,.95);
  }
}

/* =========================================================
   MOBILE — OVERLAY + DRAWER + ACCORDIONS (SOURCE UNIQUE)
   ========================================================= */

/* Overlay premium */
#psx-nav .psx-overlay{
  position: fixed;
  inset: 0;
  z-index: 99998;

  background: rgba(19,39,52,.26);
  opacity: 0;
  transition: opacity .18s ease;

  backdrop-filter: blur(10px);
}
#psx-nav .psx-overlay.is-open{ opacity:1; }

/* Drawer glass */
#psx-nav .psx-drawer{
  position: fixed;
  top: 0; right: 0;
  z-index: 99999;

  height: 100dvh;
  height: 100svh;
  width: min(420px, 92vw);

  transform: translateX(102%);
  transition: transform .20s ease;

  display:flex;
  flex-direction: column;

  background:
    radial-gradient(900px 360px at 16% 12%, rgba(199,164,109,.16), transparent 60%),
    radial-gradient(900px 360px at 88% 10%, rgba(70,103,129,.18), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.985), rgba(244,248,252,.94));
  border-left: 1px solid rgba(70,103,129,.16);
  box-shadow: -22px 0 80px rgba(15,31,42,.16);
}
#psx-nav .psx-drawer.is-open{ transform: translateX(0); }

/* Top compact */
#psx-nav .psx-drawer__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(70,103,129,.10);
}

/* Bouton close (iOS safe) */
#psx-nav .psx-close{
  width:44px;height:44px;
  border-radius:999px;
  border:1px solid rgba(70,103,129,.14);
  background: rgba(255,255,255,.86);
  cursor:pointer;

  -webkit-tap-highlight-color: transparent;
  color: inherit;
}
#psx-nav .psx-close i{
  font-size: 18px;
  line-height: 1;
  color: var(--ps-blue);
}

/* Body */
#psx-nav .psx-drawer__body{
  flex: 1 1 auto;
  overflow: auto;
  -webkit-overflow-scrolling: touch;

  padding: 12px;
  display:flex;
  flex-direction:column;
  gap: 10px;

  padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px));
}

/* CTA bas */
#psx-nav .psx-drawer__cta{
  position: absolute;
  left: 0; right: 0; bottom: 0;

  padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px)) 12px;
  border-top: 1px solid rgba(70,103,129,.10);
  background:
    radial-gradient(520px 180px at 18% 0%, rgba(199,164,109,.14), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.94), rgba(255,255,255,.985));
}

/* Accordions */
#psx-nav .psx-acc{
  border: 1px solid rgba(70,103,129,.14);
  border-radius: 18px;
  overflow:hidden;

  background:
    radial-gradient(520px 140px at 14% 20%, rgba(199,164,109,.12), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.86));
  box-shadow: 0 14px 34px rgba(15,31,42,.08);
}

#psx-nav .psx-acc__head{
  display:flex;
  align-items:center;
  justify-content:space-between;

  padding: 10px 12px;
  font-weight: 900;
  font-size: 15px;
  letter-spacing: .1px;

  color: var(--ps-blue);
  background: transparent;
}

#psx-nav .psx-acc__toggle{
  width:40px;height:40px;
  border-radius:999px;
  border:1px solid rgba(70,103,129,.12);
  background: rgba(255,255,255,.86);
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}

#psx-nav .psx-acc__chev{
  width:9px;height:9px;
  border-right: 2.5px solid rgba(199,164,109,.98);
  border-bottom:2.5px solid rgba(199,164,109,.98);
  transform: rotate(45deg);
  transition: transform .18s ease;
}

/* Panel (robuste Divi) */
#psx-nav .psx-acc__panel{
  display:none !important;
  padding: 0 12px 10px 12px !important;
  gap: 8px !important;
}
#psx-nav .psx-acc.is-open .psx-acc__panel{ display:grid !important; }
#psx-nav .psx-acc.is-open .psx-acc__chev{ transform: rotate(-135deg); }
#psx-nav .psx-acc.is-open .psx-acc__head{ color: rgba(16,36,50,.98); }

#psx-nav .psx-acc__panel a{
  display:flex;
  align-items:center;
  gap:10px;

  padding: 10px 11px;
  border-radius: 14px;

  border: 1px solid rgba(70,103,129,.10);
  background: rgba(255,255,255,.90);
  box-shadow: 0 10px 20px rgba(15,31,42,.06);

  text-decoration:none;
  font-weight: 900;
  font-size: 14.2px;
  color: var(--ps-blue);
}
#psx-nav .psx-acc__panel a i{ color: rgba(199,164,109,.95); }

#psx-nav .psx-acc__panel a:hover{
  background: rgba(70,103,129,.08);
  border-color: rgba(70,103,129,.16);
  color: rgba(16,36,50,.98);
}
#psx-nav .psx-acc__panel a:hover i{ color: rgba(199,164,109,1); }

/* Liens solo */
#psx-nav .psx-solo{
  display:flex;
  align-items:center;
  justify-content:space-between;

  padding: 10px 14px;
  border-radius: 18px;
  border: 1px solid rgba(70,103,129,.14);
  background: rgba(255,255,255,.84);
  box-shadow: 0 12px 26px rgba(15,31,42,.06);

  font-weight: 900;
  font-size: 15px;
  color: rgba(70,103,129,.96);
  text-decoration:none;
}
#psx-nav .psx-solo:hover{
  background: rgba(70,103,129,.08);
  border-color: rgba(70,103,129,.16);
  color: rgba(19,39,52,.92);
}

/* CTA full */
#psx-nav .psx-btn--full{ width:100%; padding: 13px 16px; }


/* =========================================================
   RESPONSIVE (<=1200)
   ========================================================= */
@media (max-width:1200px){
  #psx-nav .psx-desktop{ display:none; }
  #psx-nav .psx-burger{ display:inline-block; }

  #psx-nav .psx-nav__wrap{ gap: 10px; padding: 10px 0; }
  #psx-nav .psx-brand{ min-width: auto; gap:10px; }
  #psx-nav .psx-brand__logo{ height:50px; }
  #psx-nav .psx-brand__name{ font-size: 16px; }
  #psx-nav .psx-brand__sub{ font-size: 13px; }

  #psx-nav .psx-btn--primary{ padding: 10px 13px; font-size: 14.3px; }
  #psx-nav .psx-burger{ width:50px; height:50px; }

  #psx-nav .psx-drawer{ width: min(392px, 92vw); }
  #psx-nav .psx-acc__head{ padding: 8px 12px; font-size: 15.4px; }
  #psx-nav .psx-acc__toggle{ width:40px; height:40px; }
  #psx-nav .psx-acc__panel a{ padding: 8px 12px; font-size: 14.6px; }
  #psx-nav .psx-solo{ padding: 10px 14px; font-size: 15.4px; }
  #psx-nav .psx-btn--full{ padding: 13px 18px; }

  /* iOS: backdrop-filter peut glitcher en sticky */
  #psx-nav{ -webkit-backdrop-filter:none; backdrop-filter:none; }
}
 /* fait disparaitre se connecter petite resolution */
@media (max-width:380px){
  #psx-nav .psx-actions .psx-btn--primary{
    display:none !important;
  }
}

@media (max-width:1200px){
  #psx-nav .psx-burger{
    margin-right: 10px;
  }
}
@media (max-width:500px){
#psx-nav .psx-brand{ min-width: auto; gap:5px; }
}
/* =========================================================
   OFFSET UNIQUE (spacer)
   ========================================================= */
#psx-nav-spacer{ height: var(--psx-nav-h, 0px); }
html{ scroll-padding-top: var(--psx-nav-h, 0px); }

/* =========================================================
   STICKY COMPACT (desktop) — sans scale + transitions
   ========================================================= */
@media (min-width:1201px){

  /* wrap constant */
  #psx-nav.psx-is-stuck .psx-nav__wrap{ padding: 10px 0 !important; }

  /* logo un poil plus petit */
  #psx-nav.psx-is-stuck .psx-brand__logo{ height:56px; }

  /* typo marque */
  #psx-nav.psx-is-stuck .psx-brand__name{ font-size:16.5px; }
  #psx-nav.psx-is-stuck .psx-brand__sub{ font-size:13px; }
  #psx-nav.psx-is-stuck .psx-brand__sub::after{ margin-top:5px; width:30px; }

  /* menu un poil plus compact */
  #psx-nav.psx-is-stuck .psx-link{
    font-size:15px;
    padding: 10px 12px;
  }
  #psx-nav.psx-is-stuck .psx-link::after{
    left: 12px;
    right: 12px;
    bottom: 6px;
  }

  /* CTA compact */
  #psx-nav.psx-is-stuck .psx-btn{
    font-size:14px;
    padding: 10px 14px;
  }
  #psx-nav.psx-is-stuck .psx-btn--primary{
    box-shadow: 0 12px 26px rgba(70,103,129,.14);
  }

  /* transitions douces */
  #psx-nav .psx-brand__logo{ transition: height .22s ease; }
  #psx-nav .psx-brand__name,
  #psx-nav .psx-brand__sub{ transition: font-size .22s ease, letter-spacing .22s ease, color .22s ease; }
  #psx-nav .psx-brand__sub::after{ transition: width .22s ease, margin-top .22s ease, opacity .22s ease; }

  #psx-nav .psx-link{
    transition:
      background .16s ease,
      color .16s ease,
      border-color .16s ease,
      font-size .22s ease,
      padding .22s ease;
  }

  #psx-nav .psx-btn{
    transition:
      background .16s ease,
      color .16s ease,
      border-color .16s ease,
      box-shadow .18s ease,
      filter .18s ease,
      font-size .22s ease,
      padding .22s ease;
  }
}
#psx-nav .psx-link{
  cursor: pointer;
}

/* Lock scroll page quand menu mobile ouvert */
html.psx-lock,
body.psx-lock{
  overflow: hidden !important;
  height: 100% !important;
  touch-action: none;
}

/* Bonus : évite le “rebond” qui peut faire scroller derrière */
#psx-nav .psx-drawer,
#psx-nav .psx-drawer__body{
  overscroll-behavior: contain;
}


