/* ════════════════════════════════════════════════════════════
   LE CABINET — une salle, trois tiroirs
   Le chrome reste FLOW ; seule LA SCÈNE change de peau.
   ════════════════════════════════════════════════════════════ */

.cab{display:grid;grid-template-columns:288px 1fr;gap:12px;
  padding:calc(64px + 12px) clamp(12px,3vw,32px) 12px;height:100svh}

/* ─── LE MEUBLE : tiroirs + liste ─── */
.rail{display:flex;flex-direction:column;gap:10px;min-height:0}
.drawers{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--rad);padding:4px}
.drawers button{flex:1;background:none;border:0;border-radius:calc(var(--rad) - 5px);padding:9px 6px;
  cursor:pointer;color:var(--dim);font-family:var(--fm);font-size:10px;letter-spacing:.09em;
  text-transform:uppercase;transition:background-color .3s,color .3s}
.drawers button:hover{color:var(--ink)}
.drawers button[aria-selected="true"]{background:var(--accent);color:var(--btn-fg)}

.rail-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:0 4px}
.rail-head h2{font-size:1.1rem}
.rail-head .n{font-family:var(--fm);font-size:10.5px;color:var(--accent-txt)}

.filters{display:flex;flex-wrap:wrap;gap:5px}
.filters button{background:none;border:1px solid var(--line);border-radius:100px;padding:5px 10px;
  cursor:pointer;color:var(--dim);font-family:var(--fm);font-size:9.5px;letter-spacing:.08em;
  text-transform:uppercase;transition:border-color .25s,color .25s}
.filters button:hover{color:var(--ink)}
.filters button[aria-pressed="true"]{border-color:var(--accent);color:var(--accent-txt)}

/* la liste défile DANS le meuble — la page, elle, ne défile jamais */
.items{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;
  display:flex;flex-direction:column;gap:4px;padding-right:4px}
.items::-webkit-scrollbar{width:5px}
.items::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}
.item{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;text-align:left;
  background:none;border:1px solid transparent;border-radius:10px;padding:9px 11px;cursor:pointer;
  color:var(--ink);font-family:var(--fb);transition:border-color .25s,background-color .25s}
.item:hover{border-color:var(--line);background:var(--surface)}
.item[aria-current="true"]{border-color:var(--accent);background:var(--surface)}
.item .i-n{font-family:var(--fm);font-size:9.5px;color:var(--dim)}
.item[aria-current="true"] .i-n{color:var(--accent-txt)}
.item .i-t{font-size:14px;line-height:1.25}
.item .i-t small{display:block;color:var(--dim);font-size:11.5px;margin-top:1px}
.item .i-sw{display:flex;gap:2px}
.item .i-sw i{width:9px;height:14px;border-radius:2px;display:block}

/* ─── LA SCÈNE ─── */
.stage{position:relative;min-height:0;border:1px solid var(--line);border-radius:var(--rad);
  overflow:hidden;background:var(--sbg,var(--surface));display:flex;flex-direction:column;
  transition:background-color .5s ease,border-color .5s ease}
.stage-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:11px 16px;border-bottom:1px solid var(--sline,var(--line));z-index:5;
  color:var(--sink,var(--ink));transition:color .5s ease,border-color .5s ease}
.stage-bar .sb-l{display:flex;align-items:baseline;gap:11px;min-width:0}
.stage-bar h3{font-size:1.05rem;font-family:var(--sfd,var(--fd));white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.stage-bar .sb-k{font-family:var(--fm);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
  opacity:.62;white-space:nowrap}
.stage-act{display:flex;gap:7px}
.stage-act button{background:none;border:1px solid currentColor;border-radius:100px;padding:5px 12px;
  cursor:pointer;color:inherit;font-family:var(--fm);font-size:9.5px;letter-spacing:.08em;
  text-transform:uppercase;opacity:.6;transition:opacity .25s}
.stage-act button:hover{opacity:1}
.stage-body{flex:1;min-height:0;position:relative;overflow:hidden;display:flex;flex-direction:column}

/* ─── LE SPÉCIMEN — la même page, quatorze peaux ─── */
.spec{position:relative;flex:1;min-height:0;display:grid;grid-template-rows:auto 1fr auto;
  background:var(--sbg);color:var(--sink);font-family:var(--sfb);overflow:hidden}
.spec-nav{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;
  border-bottom:1px solid var(--sline)}
.spec-nav b{font-family:var(--sfd);font-size:17px;font-weight:var(--sfw);letter-spacing:var(--sls);
  text-transform:var(--scase,none)}
.spec-nav span{display:flex;gap:16px;font-size:12px;opacity:.66}
.spec-hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;min-height:0}
.spec-copy{padding:clamp(18px,3.4vw,40px);min-width:0}
.spec-kick{display:block;font-family:var(--sfm,var(--fm));font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--sacc);margin-bottom:12px}
.spec-h{font-family:var(--sfd);font-weight:var(--sfw);letter-spacing:var(--sls);line-height:.98;
  font-size:clamp(1.9rem,4.2vw,3.4rem);text-transform:var(--scase,none);text-wrap:balance}
.spec-p{margin-top:12px;font-size:14px;opacity:.72;max-width:34ch;line-height:1.55}
.spec-cta{display:inline-block;margin-top:18px;background:var(--sbtn);color:var(--sbtnfg);
  border-radius:var(--srad2);padding:11px 22px;font-size:13px;font-family:var(--sfb);
  border:var(--sborder,1px solid transparent);box-shadow:var(--sshadow,none)}
.spec-art{position:relative;height:100%;min-height:0;display:grid;place-items:center;padding:18px}
.spec-card{width:100%;height:100%;border-radius:var(--srad);background:var(--ssurf);
  border:var(--sborder,1px solid var(--sline));box-shadow:var(--sshadow,none);
  backdrop-filter:var(--sblur,none);-webkit-backdrop-filter:var(--sblur,none);
  display:flex;flex-direction:column;justify-content:space-between;padding:18px;overflow:hidden}
.spec-card .sc-t{font-family:var(--sfd);font-size:1.15rem;font-weight:var(--sfw);letter-spacing:var(--sls)}
.spec-card .sc-d{font-size:12px;opacity:.66;line-height:1.5}
.spec-card .sc-sw{display:flex;gap:5px}
.spec-card .sc-sw i{width:100%;height:26px;border-radius:calc(var(--srad) / 2);display:block}
.spec-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding:12px 22px;border-top:1px solid var(--sline);font-family:var(--sfm,var(--fm));
  font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;opacity:.6}
/* fond décoratif propre à certains univers */
.spec-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.spec > *:not(.spec-bg){position:relative;z-index:1}

/* ─── LA PAILLASSE (laboratoire) ─── */
.bench{position:relative;flex:1;min-height:0;display:grid;place-items:center;
  padding:clamp(16px,3vw,38px);overflow:hidden}
.bench-note{flex:none;padding:11px 18px;border-top:1px solid var(--line);
  background:var(--surface);font-size:13px;color:var(--dim);line-height:1.5}

/* ─── LA FICHE (bibliothèque) ───
   On montre le résultat en grand. La recette reste au studio. */
.demo-slot{flex:1;min-height:0;position:relative;overflow:hidden;
  padding:clamp(16px,3vw,34px);display:grid;place-items:center}
.demo-slot.scrolls{display:block;overflow-y:auto;overscroll-behavior:contain}
.demo-slot.scrolls::-webkit-scrollbar{width:5px}
.demo-slot.scrolls::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}

.sheet-foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:18px;
  flex-wrap:wrap;padding:13px 18px;border-top:1px solid var(--line);background:var(--surface)}
.sheet-foot .sf-t{min-width:0;flex:1 1 320px}
.sheet-foot .sf-d{font-size:13.5px;color:var(--ink);line-height:1.5}
.sheet-foot .sf-w{font-size:12.5px;color:var(--dim);line-height:1.5;margin-top:3px}
.sheet-foot .sf-w b{font-weight:500;color:var(--ink)}

/* le seul bouton qui compte */
.want{display:inline-flex;align-items:center;gap:9px;flex:none;text-decoration:none;
  background:var(--btn-bg);color:var(--btn-fg);border-radius:var(--btnrad);
  padding:12px 20px;font-family:var(--fb);font-size:14px;white-space:nowrap;
  transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s}
.want:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.16)}
.want svg{width:16px;height:16px;flex-shrink:0}

@media (max-width:900px){
  .cab{grid-template-columns:1fr;height:auto;min-height:100svh;padding-bottom:24px}
  .items{max-height:32vh;flex:none}
  .stage{min-height:60vh}
  .spec-hero{grid-template-columns:1fr;grid-template-rows:1fr auto}
  .spec-art{display:none}
}
