/* ============================================================
   V-STORM — Galerie « Ajouter des blocs »  (SOURCE UNIQUE)
   ------------------------------------------------------------
   Référence : la galerie du Tableau de bord (vs-ov.js, zip 64).
   Toute page qui propose une galerie charge CE fichier et rend
   le même markup : .pmodal > .pmodal__c > .pmodal__bd > .gcard.
   Ne pas redéfinir ces classes ailleurs.
   ============================================================ */
.pmodal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(5,5,9,.66);backdrop-filter:blur(5px);padding:24px}
.pmodal.open{display:flex}
.pmodal__c{width:640px;max-width:100%;max-height:84vh;display:flex;flex-direction:column;border-radius:20px;background:var(--panel);border:1px solid var(--hair-2);box-shadow:0 30px 80px rgba(0,0,0,.55)}
.pmodal__hd{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 16px;border-bottom:1px solid var(--hair)}
.pmodal__hd h3{margin:0;font-size:18px;font-weight:800;letter-spacing:-.02em}.pmodal__hd p{margin:5px 0 0;font-size:13px;color:var(--ink-3)}
.pmodal__x{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--ink-3);background:rgba(255,255,255,.04);border:1px solid var(--hair);cursor:pointer}.pmodal__x:hover{color:#fff}.pmodal__x svg{width:16px;height:16px}
.pmodal__bd{overflow-y:auto;padding:18px 24px 24px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gcard{display:flex;flex-direction:column;min-width:0;text-align:left;border-radius:14px;border:1px solid var(--hair);background:rgba(255,255,255,.02);padding:14px;cursor:pointer;transition:border-color .15s,transform .15s}
.gcard:hover{border-color:color-mix(in oklab,var(--vio) 55%,transparent);transform:translateY(-2px)}
.gcard__prev{height:132px;border-radius:10px;overflow:hidden;border:1px solid var(--hair);background:var(--bg);margin-bottom:12px;position:relative;pointer-events:none;flex-shrink:0}
.gcard__prev>.vsw{position:absolute;top:0;left:0;width:167%;transform:scale(.6);transform-origin:top left;padding:16px;background:transparent;height:auto}
.gcard__prev>.clip{position:absolute;top:12px;left:12px;width:1240px;transform:scale(.185);transform-origin:top left}
.gcard__prev::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(18,18,24,.7))}
.gcard__prev.mini{display:grid;place-items:center}.gcard__prev.mini svg{width:34px;height:34px;color:var(--vio)}
.gcard__hd{display:flex;align-items:center;gap:10px}
.gcard__ic{width:30px;height:30px;border-radius:8px;flex-shrink:0;display:grid;place-items:center;background:var(--vio-tint);color:var(--vio)}.gcard__ic svg{width:15px;height:15px}
.gcard__t{font-size:13.5px;font-weight:700}.gcard__add{margin-left:auto;font-size:11.5px;font-weight:700;color:var(--vio)}
.gcat2{grid-column:1/-1;font-family:var(--vs-font-mono,monospace);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);margin:6px 0 -2px}

/* L'aperçu ne doit jamais élargir sa colonne : il est rogné, jamais étiré. */
.pmodal__bd{grid-template-columns:1fr 1fr;min-width:0}
.gcard__prev>*{max-width:none}
.gcard__prev>.scaled{position:absolute;top:0;left:0;width:1180px;transform:scale(.24);transform-origin:top left;padding:14px}
