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

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

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

/* PANEL */
.mega__panel{
  width:var(--panel-w);
  margin:calc(var(--topbar-h) + 14px) 0 0 16px; /* align left */
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  border:var(--border);
  overflow:hidden;
  max-height:calc(100vh - (var(--topbar-h) + 28px));
  display:flex;
  flex-direction:column;
}

/* DESKTOP (3 cols) */
.mega__cols{display:grid;grid-template-columns:320px 320px 1fr;min-height:0;flex:1}
.mega__col{border-right:var(--border);min-height:0;overflow:auto}
.mega__col:last-child{border-right:0}

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

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

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

.is-hidden{display:none}

/* MOBILE progressive nav */
.mega__mobilebar{display:none;align-items:center;gap:10px;padding:14px 14px;background:var(--navy);color:#fff}
.mega__back{
  border:0;background:transparent;color:var(--rubix-yellow);
  width:44px;height:44px;border-radius:12px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:28px;line-height:1
}
.mega__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}
.mega__mobtitle{font-weight:900;font-size:22px;letter-spacing:.2px}

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

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

@media (max-width: 980px){
  .mega__panel{margin:0;border-radius:0;max-height:100vh;width:100vw;height:100vh}
  .mega__cols{display:none}
  .mega__footer{display:none}
  .mega__mobilebar{display:flex}
  .mega__mwrap{display:block}
}

.psmmr-entry{display:inline-flex;align-items:center; padding-top: 5px;}
.psmmr-caret{margin-left:8px}

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


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

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

/* Chevron = grosse zone tappable */
#psmmr-mega .mrow__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 */
#psmmr-mega .mrow__next:active{
  background: rgba(0,0,0,.06);

}


#psmmr-mega .mrow { position: relative; }

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

#psmmr-mega .mrow__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;
}
#psmmr-mega .mrow__next:active{ background: rgba(0,0,0,.06); }
