/* Parisian Agenda v2 : menu latéral et widgets d'accueil rétractables (desktop). Pilotée par js/collapse.js. */
.cz-navbtn,.cz-wtab,.cz-wcol,.cz-colhead,.cz-whead{display:none}
@media(min-width:1000px){
  :root{--navW:230px}
  html[data-nav="mini"]{--navW:72px}
  body{padding-left:var(--navW);transition:padding-left .2s ease}
  .tabs{width:var(--navW);transition:width .2s ease;overflow-x:hidden;overflow-y:auto}
  .toast,.pa-update{left:calc(50% + var(--navW) / 2)}
  .sheet{left:var(--navW)}

  .cz-navbtn{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;margin-top:auto;padding:10px 14px;border-radius:999px;color:var(--tx3);font-size:.85rem;font-weight:600;text-align:left;flex:none}
  .cz-navbtn:hover{color:var(--tx);background:color-mix(in srgb,var(--acc) 10%,transparent)}
  .cz-navbtn svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
  html[data-nav="mini"] .cz-navbtn svg{transform:rotate(180deg)}
  .tabs-extra{margin-top:18px}

  html[data-nav="mini"] .tabs{padding:16px 10px;align-items:stretch}
  html[data-nav="mini"] .tabs a,html[data-nav="mini"] .tabs-extra button,html[data-nav="mini"] .cz-navbtn{justify-content:center;gap:0;padding-left:0;padding-right:0;position:relative}
  html[data-nav="mini"] .tabs a>span,html[data-nav="mini"] .tabs-extra button>span,html[data-nav="mini"] .cz-navbtn>span,html[data-nav="mini"] .tabs-more{
    position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  html[data-nav="mini"] .tabs-extra small{position:absolute;top:4px;right:6px;margin:0;font-size:.62rem}
  html[data-nav="mini"] .tabs-extra{margin-top:12px;padding-top:12px}
}

@media(min-width:1200px){
  /* colonne de widgets : un seul panneau continu (widgets collés, filet fin), repliable par une icône discrète hors de la colonne */
  :root{--cz-colW:clamp(340px,24vw,440px);--cz-padR:clamp(28px,3.2vw,72px);--cz-gap:clamp(20px,2vw,36px);--cz-btnTop:calc(var(--safeT) + var(--topH) + 22px)}
  .nfx-home .nfx-widgets{background:var(--card);border:1px solid var(--line2);border-radius:var(--r);gap:0;overflow-x:hidden;padding-right:0}
  .nfx-home .nfx-widgets>.nfx-w{border-top:1px solid var(--line2);background:transparent}
  .nfx-home .nfx-widgets>.nfx-w:first-child{border-top:0}
  .nfx-home .nfx-w>.cz-wbody>.cz-winner>.hw,.nfx-home .nfx-w>.cz-wbody>.cz-winner>.card,.nfx-home .nfx-w>.cz-wbody>.cz-winner>.off-wrap{background:transparent;border:0;border-radius:0;box-shadow:none;margin:0}
  .nfx-home .nfx-w>.cz-wbody>.cz-winner>*{margin-top:0!important}
  .nfx-home .nfx-w .hw,.nfx-home .nfx-w .cz-winner>.now{padding:4px 16px 16px}
  .nfx-home .nfx-widgets>.nfx-w-off{display:none}

  /* icône ronde discrète, collée au bord gauche de la colonne (dans la gouttière) */
  .cz-wcol,.cz-wtab{position:fixed;z-index:45;width:32px;height:32px;padding:0;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;
    background:color-mix(in srgb,var(--bg2) 92%,transparent);color:var(--tx3);border:1px solid var(--line2);box-shadow:0 2px 8px rgba(0,0,0,.12);opacity:.9;
    transition:opacity .15s,color .15s,background .15s,transform .15s}
  .cz-wcol:hover,.cz-wtab:hover,.cz-wcol:focus-visible,.cz-wtab:focus-visible{opacity:1;color:var(--acc);transform:scale(1.08)}
  .cz-wcol:focus-visible,.cz-wtab:focus-visible,.cz-whead:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
  .cz-wcol svg,.cz-wtab svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .cz-wcol{top:var(--cz-btnTop);right:calc(var(--cz-padR) + var(--cz-colW) + var(--cz-gap) / 2 - 16px)}
  .cz-wtab{top:var(--cz-btnTop);right:calc(var(--cz-padR) / 2 - 16px)}
  body:has(.nfx-widgets) .cz-wcol{display:flex}
  html[data-widgets="off"] .cz-wcol{display:none!important}
  html[data-widgets="off"] .nfx-widgets{display:none}
  html[data-widgets="off"] .nfx-home{grid-template-columns:minmax(0,1fr)}
  html[data-widgets="off"] body:has(.nfx-home) .cz-wtab{display:flex}
  html[data-widgets="off"] main:has(.nfx-home){padding-right:56px}

  /* en-tête de widget : icône + titre + chevron, cliquable */
  .cz-whead{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 16px;font:inherit;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-align:left;color:var(--tx2,var(--tx));background:transparent;border:0;cursor:pointer}
  .cz-whead:hover{color:var(--tx);background:color-mix(in srgb,var(--acc) 7%,transparent)}
  .cz-whead svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
  .cz-whead>svg:first-child{color:var(--acc)}
  .cz-wt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cz-whead .cz-chev{width:16px;height:16px;color:var(--tx3);transition:transform .2s}
  .cz-whead[aria-expanded="false"] .cz-chev{transform:rotate(-90deg)}

  /* repli animé (grille 1fr -> 0fr) ; replié : seul l'en-tête reste */
  .cz-wbody{display:grid;grid-template-rows:1fr;transition:grid-template-rows .22s ease}
  .cz-winner{min-height:0;overflow:hidden}
  .nfx-w.cz-closed>.cz-wbody{grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .22s ease,visibility 0s .22s}
  .nfx-w.cz-closed>.cz-whead{min-height:40px;padding-top:8px;padding-bottom:8px}
}
@media(min-width:1200px) and (prefers-reduced-motion:reduce){
  .cz-wbody,.nfx-w.cz-closed>.cz-wbody,.cz-whead .cz-chev,.cz-wcol,.cz-wtab{transition:none}
}
