:root{
  --psmmc-topbar-h:64px;
  --psmmc-panel-w:min(1100px,calc(100vw - 32px));
  --psmmc-radius:14px;
  --psmmc-shadow:0 18px 50px rgba(0,0,0,.18);
  --psmmc-border:1px solid rgba(0,0,0,.08);
  --psmmc-navy:#0b2a5a;
  --psmmc-blue: #2568a2;
  --psmmc-yellow:#ffd43b;
}
.psmmc-topbar, .psmmc-topbar *{box-sizing:border-box}
body.psmmc-open{overflow:hidden}

.psmmc-topbar{
  position:relative;
  z-index:50;
  height:var(--psmmc-topbar-h);
  display:flex;
  align-items:center;
  background:var(--psmmc-navy);
  color:#fff;
  padding:0 16px;
}
.psmmc-trigger{
  background:var(--psmmc-blue);
  color:#fff;
  border:0;
  padding:10px 14px;
  border-radius:10px;
  font-weight:800;
  cursor:pointer;
}
#psmmc-mega { display:none; }
#psmmc-mega.psmmc-is-open { display:block; }
.psmmc-overlay{position:fixed;inset:0;background:rgba(10,20,40,.45);opacity:0;pointer-events:none;transition:.18s;z-index:60;top:121px}
.psmmc-overlay.psmmc-is-open{opacity:1;pointer-events:auto}

/* IMPORTANT: wrapper ne capte pas les clics pour laisser le backdrop fonctionner */
.psmmc-menu{position:fixed;left:0;right:0;bottom:0;z-index:70;pointer-events:none;opacity:0;transition:.18s}
@media (min-width: 981px){
  .psmmc-menu{
    top:var(--psmmc-offset, 60px);
  }
}
.psmmc-menu.psmmc-is-open{opacity:1}
/* seul le panel est interactif */
.psmmc-panel{pointer-events:auto}

/* PANEL */
.psmmc-panel{
  width:var(--psmmc-panel-w);
  margin:calc(var(--psmmc-topbar-h) + 14px) 0 0 16px; /* align left */
  background:#fff;
  border-radius:var(--psmmc-radius);
  box-shadow:var(--psmmc-shadow);
  border:var(--psmmc-border);
  overflow:hidden;
  max-height:calc(100vh - (var(--psmmc-topbar-h) + 28px));
  display:flex;
  flex-direction:column;
}
#psmmc-mega .psmmc-panel{
  width: 650px;
}
/* DESKTOP (2 cols) */
.psmmc-cols{display:grid;grid-template-columns:320px 320px;min-height:0;flex:1}
.psmmc-col{border-right:var(--psmmc-border);min-height:0;overflow:auto}
.psmmc-col:last-child{border-right:0}

.psmmc-list{list-style:none;margin:0;padding:10px}
.psmmc-item{padding:12px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700;color:var(--psmmc-navy)}
.psmmc-item:hover{background:rgba(11,42,90,.06)}
.psmmc-item.psmmc-is-active{background:rgba(11,42,90,.1)}
#psmmc-mega .count{opacity:.6;font-weight:600}

.psmmc-pane{padding:10px}
.psmmc-title{margin:4px 0 10px;font-size:16px;color:var(--psmmc-navy)}
.psmmc-link{display:block;padding:10px;border-radius:10px;color:var(--psmmc-navy);text-decoration:none;font-weight:650}
.psmmc-link:hover{background:rgba(11,42,90,.06)}

.psmmc-footer{border-top:var(--psmmc-border);padding:12px;display:flex;gap:10px;justify-content:flex-end;background:#f6f8fb}
.psmmc-cta{padding:10px 14px;border-radius:999px;text-decoration:none;background:#e8f2ff;color:var(--psmmc-navy);font-weight:800}

.psmmc-is-hidden{display:none}

/* MOBILE progressive nav */
.psmmc-mobilebar{display:none;align-items:center;gap:10px;padding:14px 14px;background:var(--psmmc-navy);color:#fff}
.psmmc-back{
  border:0;background:transparent;color:var(--psmmc-yellow);
  width:44px;height:44px;border-radius:12px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:28px;line-height:1
}
.psmmc-close{margin-left:auto;border:0;background:rgba(255,255,255,.14);color:#fff;width:40px;height:40px;border-radius:12px;cursor:pointer;font-size:16px}
.psmmc-mobtitle{font-weight:900;font-size:22px;letter-spacing:.2px}

.psmmc-mwrap{display:none;position:relative;flex:1;min-height:0;overflow:hidden;background:#fff}
.psmmc-mscreens{height:100%;display:flex;transition:transform .22s ease}
.psmmc-mscreen{width:100%;flex:0 0 100%;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}

.psmmc-mlist{list-style:none;margin:0;padding:10px}
.psmmc-row{
  display:flex;align-items:center;gap:10px;
  padding:18px 14px;
  border-radius:14px;
  cursor:pointer;
  font-weight:800;
  color:var(--psmmc-navy);
}
.psmmc-row:hover{background:rgba(11,42,90,.06)}
.psmmc-row .right{margin-left:auto;opacity:.55;font-weight:900;font-size:22px}
.psmmc-row .count{opacity:.55;font-weight:750}

@media (max-width: 980px){
  .psmmc-menu{
    left:0;
    right:0;
    top:0;
    bottom:0;
    width:100vw;
    max-width:100vw;
    overflow:hidden;
  }

  #psmmc-mega .psmmc-panel{
    margin:0;
    border-radius:0;
    width:100vw;
    max-width:100vw;
    min-width:0;
    height:100vh;
    max-height:100vh;
    box-shadow:none;
    border:0;
  }

  .psmmc-mobilebar,
  .psmmc-mwrap,
  .psmmc-mscreens,
  .psmmc-mscreen{
    max-width:100vw;
    min-width:0;
    box-sizing:border-box;
  }

  .psmmc-cols{display:none}
  .psmmc-footer{display:none}
  .psmmc-mobilebar{display:flex}
  .psmmc-mwrap{display:block}
}

.psmmc-entry{display:inline-flex;align-items:center; padding-top: 5px;}
.psmmc-caret{margin-left:8px;display:inline-block;transition:transform .2s cubic-bezier(.4,0,.2,1);transform-origin:center}
.psmmc-trigger.psmmc-is-active .psmmc-caret{transform:rotate(180deg)}

/* Links inside items (keep row clickable look) */
.psmmc-itemlink{
  color:inherit;
  text-decoration:none;
  flex:1;
  display:block;
}
.psmmc-rowlink{
  color:inherit;
  text-decoration:none;
  flex:1;
  display:block;
}


/* Ligne mobile: lien à gauche, chevron à droite */
#psmmc-mega .psmmc-row{
  position: relative;
}

/* On laisse le lien gérer la navigation */
#psmmc-mega a.psmmc-rowlink{
  display: block;
  padding-right: 56px; /* laisse la place au chevron */
}

/* Chevron = grosse zone tappable */
#psmmc-mega .psmmc-row-next{
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 44px;          /* Apple HIG: ~44px */
  height: 44px;
  border: 0;
  background: transparent;
  border-radius: 12px;
  display: grid;
  place-items: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* Optionnel: feedback au tap */
#psmmc-mega .psmmc-row-next:active{
  background: rgba(0,0,0,.06);

}


#psmmc-mega .psmmc-row { position: relative; }

#psmmc-mega a.psmmc-rowlink{
  display:block;
  padding-right: 56px; /* espace pour le chevron */
}

#psmmc-mega .psmmc-row-next{
  position:absolute;
  top:50%;
  right:10px;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border:0;
  background:transparent;
  border-radius:12px;
  display:grid;
  place-items:center;
  -webkit-tap-highlight-color: transparent;
}
#psmmc-mega .psmmc-row-next:active{ background: rgba(0,0,0,.06); }

/* Menu Content limité à 2 niveaux : pas de chevron au niveau 2 mobile */
#psmmc-mega .psmmc-mscreen[data-step="1"] a.psmmc-rowlink{padding-right:0;}
