/*!
 * Vodeo Hébergement 1.0.0 — régie « 🎙️ Hébergement », pages « lien intelligent » et lecteur intégrable.
 * Même ADN que Vodeo (vodeo-public.css, vodeo-admin.css) : fond nuit, titres Poppins avec point cyan, texte Lato,
 * boutons pilule violet → bleu. Tout est confiné sous .vh : aucun effet sur le thème ni sur le reste de wp-admin.
 * Polices : celles déjà chargées par Vodeo et le thème (aucune ressource externe ici — Loi 25).
 */

.vh{
  --vh-bg:#0b0b11;--vh-bg2:#12121c;--vh-card:rgba(255,255,255,.045);--vh-card2:rgba(255,255,255,.075);
  --vh-line:rgba(255,255,255,.09);--vh-line2:rgba(255,255,255,.16);--vh-txt:#ececf2;--vh-mut:#a3a6b4;--vh-dim:#767a8e;
  --vh-cyan:#00c1ff;--vh-violet:#5e1ce4;--vh-blue:#2f6bff;--vh-magenta:#d4237a;--vh-green:#22d3a0;--vh-amber:#ffb800;--vh-red:#ff5a6e;
  --vh-grad:linear-gradient(135deg,var(--vh-violet) 0%,var(--vh-blue) 100%);
  --vh-grad-text:linear-gradient(90deg,#fff 0%,#c9d6ff 45%,var(--vh-cyan) 100%);
  --vh-glow:0 14px 40px -12px rgba(94,28,228,.55);--vh-shadow:0 22px 60px -24px rgba(0,0,0,.75);
  --vh-r:20px;--vh-r-sm:14px;--vh-r-xs:10px;
  --vh-ff-h:Poppins,"Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  --vh-ff:Lato,"Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  --vh-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  position:relative;color:var(--vh-txt);font-family:var(--vh-ff);font-size:15px;line-height:1.6;text-align:left;
  -webkit-font-smoothing:antialiased;max-width:100%;min-width:0
}
.vh *,.vh *::before,.vh *::after{box-sizing:border-box}
.vh [hidden]{display:none!important}
.vh a{color:inherit;text-decoration:none;box-shadow:none}
.vh img{max-width:100%;height:auto;border:0}
.vh p{margin:0 0 10px}
.vh ul,.vh ol,.vh li{margin:0;padding:0;list-style:none}
.vh li::marker{content:none}
.vh button{margin:0;text-shadow:none;min-width:0;line-height:1.2}
.vh h1,.vh h2,.vh h3,.vh h4{margin:0;padding:0;color:#fff;text-transform:none;letter-spacing:normal;line-height:1.2}
.vh button,.vh input,.vh select,.vh textarea,.vh summary{font-family:inherit;text-transform:none;letter-spacing:normal}
.vh strong,.vh b{font-weight:700}
.vh code{background:rgba(255,255,255,.08);color:#bfefff;padding:2px 6px;border-radius:6px;font:12.5px/1.5 var(--vh-mono);word-break:break-all}
.vh :focus-visible{outline:2px solid var(--vh-cyan);outline-offset:3px;border-radius:8px}
.vh .vh-mut{color:var(--vh-mut)}
.vh .vh-small{font-size:13.5px}
.vh .vh-warn{color:var(--vh-amber)}
.vh .vh-err{color:var(--vh-red)}
.vh .vh-nowrap{white-space:nowrap}
.vh .vh-mono{font-family:var(--vh-mono);font-size:13.5px}
.vh .vh-link,.vh .vh-crumbs a,.vh .vh-alert a,.vh .vh-hosted a{color:var(--vh-cyan);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.vh .vh-link:hover,.vh .vh-crumbs a:hover{color:#7fdcff}
.vh .vh-dot{color:var(--vh-cyan)}
.vh .vh-grad{background:var(--vh-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.vh .vh-empty{padding:26px;text-align:center;color:var(--vh-mut);border:1px dashed var(--vh-line2);border-radius:var(--vh-r);margin:0 0 18px}
.vh .vh-empty p{margin:0 0 12px}
.vh .vh-empty > :last-child{margin-bottom:0}

/* ---------- Égaliseur (signature Vodeo) ---------- */
.vh .vh-eq{display:inline-flex;align-items:flex-end;gap:3px;height:30px;flex:none}
.vh .vh-eq i{display:block;width:4px;height:100%;border-radius:3px;background:var(--vh-cyan);transform-origin:bottom;animation:vh-eq 1.1s ease-in-out infinite}
.vh .vh-eq i:nth-child(2){animation-delay:-.4s;background:#6aa8ff}
.vh .vh-eq i:nth-child(3){animation-delay:-.7s;background:#8b6bff}
.vh .vh-eq i:nth-child(4){animation-delay:-.2s;background:#d05fc0}
.vh .vh-eq i:nth-child(5){animation-delay:-.9s;background:var(--vh-cyan)}
.vh .vh-eq i:nth-child(6){animation-delay:-.55s;background:#6aa8ff}
.vh .vh-eq i:nth-child(7){animation-delay:-.3s;background:#8b6bff}
.vh .vh-eq--big{height:64px;gap:5px}
.vh .vh-eq--big i{width:8px;border-radius:5px}
@keyframes vh-eq{0%,100%{transform:scaleY(.28)}50%{transform:scaleY(1)}}
@keyframes vh-spin{to{transform:rotate(360deg)}}
@keyframes vh-stripes{to{background-position:40px 0}}
@keyframes vh-pulse{0%{box-shadow:0 0 0 0 rgba(0,193,255,.55)}100%{box-shadow:0 0 0 14px rgba(0,193,255,0)}}
@keyframes vh-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes vh-confetti{0%{background-position:0 0,0 0,0 0}100%{background-position:0 160px,60px 220px,-40px 180px}}
.vh .vh-spin{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:vh-spin .8s linear infinite;vertical-align:-1px}

/* ---------- Titres ---------- */
.vh .vh-eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 12px/1.2 var(--vh-ff-h);letter-spacing:.15em;text-transform:uppercase;color:var(--vh-cyan);margin:0 0 10px}
.vh .vh-eyebrow::before{content:"";width:20px;height:2px;border-radius:2px;background:var(--vh-cyan);box-shadow:0 0 12px var(--vh-cyan);flex:none}
.vh .vh-eyebrow a{color:var(--vh-cyan)}
.vh .vh-eyebrow a:hover{color:#fff}
.vh .vh-title{font:800 clamp(22px,2.8vw,32px)/1.1 var(--vh-ff-h);letter-spacing:-.015em;color:#fff;margin:0}
.vh .vh-h2{font:700 clamp(20px,2.4vw,26px)/1.2 var(--vh-ff-h);letter-spacing:-.01em;color:#fff;margin:0 0 12px}
.vh .vh-h3{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;font:700 17px/1.3 var(--vh-ff-h);color:#fff;margin:0 0 10px}
.vh .vh-h4{font:700 14.5px/1.3 var(--vh-ff-h);color:#e9e9f5;margin:16px 0 8px}
.vh .vh-lead{font-size:clamp(15.5px,1.5vw,18px);color:var(--vh-mut);max-width:64ch;margin:0 0 20px}
.vh .vh-crumbs{font-size:13.5px;color:var(--vh-mut);margin:0 0 14px;overflow-wrap:anywhere}
.vh .vh-crumbs b{color:#fff}

/* ---------- Coquille de la régie ---------- */
.vh .vh-top{display:flex;align-items:center;justify-content:space-between;gap:14px 20px;flex-wrap:wrap;margin:0 0 16px}
.vh .vh-top__brand{display:flex;align-items:center;gap:14px;min-width:0}
.vh .vh-top__brand .vh-eyebrow{margin-bottom:4px}
.vh .vh-top__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vh .vh-nav{display:flex;gap:4px;padding:5px;margin:0 0 18px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--vh-line);overflow-x:auto;scrollbar-width:none;max-width:100%}
.vh .vh-nav::-webkit-scrollbar{display:none}
.vh .vh-nav a{display:inline-flex;align-items:center;gap:6px;padding:9px 15px;border-radius:999px;color:var(--vh-mut);font:700 13.5px/1 var(--vh-ff-h);white-space:nowrap;transition:color .15s,background .15s}
.vh .vh-nav a:hover{color:#fff;background:rgba(255,255,255,.05)}
.vh .vh-nav a.is-on{background:var(--vh-grad);color:#fff;box-shadow:0 10px 26px -10px rgba(94,28,228,.9)}
.vh .vh-view{animation:vh-rise .35s ease both}
.vh .vh-foot{margin-top:26px;padding-top:14px;border-top:1px solid var(--vh-line);color:var(--vh-dim);font-size:12.5px;text-align:center}
.vh .vh-tabs{display:flex;gap:4px;margin:0 0 18px;border-bottom:1px solid var(--vh-line);overflow-x:auto;scrollbar-width:none;max-width:100%}
.vh .vh-tabs::-webkit-scrollbar{display:none}
.vh .vh-tabs a{padding:10px 14px;color:var(--vh-mut);font:700 13.5px/1 var(--vh-ff-h);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.vh .vh-tabs a:hover{color:#fff}
.vh .vh-tabs a.is-on{color:#fff;border-bottom-color:var(--vh-cyan)}

/* ---------- Puces, pastilles, étiquettes ---------- */
.vh .vh-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;align-items:center}
.vh .vh-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--vh-line);color:var(--vh-mut);font:600 13px/1.2 var(--vh-ff-h);cursor:pointer;transition:all .15s}
.vh .vh-chip:hover{color:#fff;border-color:var(--vh-line2)}
.vh .vh-chip.is-on{color:#fff;border-color:rgba(0,193,255,.6);background:rgba(0,193,255,.12)}
.vh .vh-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font:700 12px/1.2 var(--vh-ff-h);white-space:nowrap;border:1px solid var(--vh-line2);background:rgba(255,255,255,.06);color:#dfe2ee;cursor:default}
.vh a.vh-pill,.vh button.vh-pill{cursor:pointer;transition:filter .15s,transform .15s}
.vh a.vh-pill:hover,.vh button.vh-pill:hover{filter:brightness(1.2);transform:translateY(-1px)}
.vh .vh-pill--ok{color:#8ff0cf;background:rgba(34,211,160,.12);border-color:rgba(34,211,160,.4)}
.vh .vh-pill--warn{color:#ffd86b;background:rgba(255,184,0,.11);border-color:rgba(255,184,0,.4)}
.vh .vh-pill--err{color:#ff9aa8;background:rgba(255,90,110,.12);border-color:rgba(255,90,110,.45)}
.vh .vh-pill--info{color:#8adfff;background:rgba(0,193,255,.11);border-color:rgba(0,193,255,.4)}
.vh .vh-pill--dim{color:var(--vh-mut);background:rgba(255,255,255,.04);border-color:var(--vh-line)}
.vh .vh-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.08);font:700 12px/1.2 var(--vh-ff-h);color:#e6e8f2}
.vh .vh-tag--x{background:rgba(255,90,110,.2);color:#ffb3bd}
.vh .vh-num{display:inline-grid;place-items:center;min-width:26px;height:22px;padding:0 6px;border-radius:7px;background:rgba(0,193,255,.14);color:var(--vh-cyan);font:800 12px/1 var(--vh-ff-h);margin-right:4px;vertical-align:1px}

/* ---------- Alertes ---------- */
.vh .vh-alert{padding:13px 16px;border-radius:var(--vh-r-sm);border:1px solid rgba(124,92,255,.4);background:rgba(94,28,228,.12);margin:0 0 16px;font-size:14.5px}
.vh .vh-alert b{color:#fff}
.vh .vh-alert--warn{border-color:rgba(255,184,0,.42);background:rgba(255,184,0,.09)}
.vh .vh-alert--info{border-color:rgba(0,193,255,.38);background:rgba(0,193,255,.08)}
.vh .vh-ok-line{padding:12px 14px;border-radius:12px;background:rgba(34,211,160,.10);border:1px solid rgba(34,211,160,.35);color:#c9f7e8}

/* ---------- Boutons ---------- */
.vh .vh-btn,.vh a.vh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:999px;border:0;cursor:pointer;
  font:600 14.5px/1.1 var(--vh-ff-h);color:#fff;background:var(--vh-grad);box-shadow:var(--vh-glow);text-decoration:none;white-space:nowrap;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s;min-height:42px}
.vh .vh-btn:hover,.vh a.vh-btn:hover{transform:translateY(-2px);box-shadow:0 18px 44px -12px rgba(94,28,228,.75);filter:saturate(1.15);color:#fff}
.vh .vh-btn:active{transform:translateY(0)}
.vh .vh-btn[disabled],.vh .vh-btn[aria-disabled="true"]{opacity:.42;cursor:not-allowed;transform:none;filter:grayscale(.4)}
.vh .vh-btn--lg,.vh a.vh-btn--lg{padding:15px 28px;font-size:16px;min-height:52px}
.vh .vh-btn--sm,.vh a.vh-btn--sm{padding:8px 14px;font-size:13px;min-height:36px;box-shadow:none}
.vh .vh-btn--xs,.vh a.vh-btn--xs{padding:5px 11px;font-size:12px;min-height:30px;box-shadow:none}
.vh .vh-btn--ghost,.vh a.vh-btn--ghost{background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--vh-line2)}
.vh .vh-btn--ghost:hover,.vh a.vh-btn--ghost:hover{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.vh .vh-btn--ok,.vh a.vh-btn--ok{background:linear-gradient(135deg,#0c9e78,#22d3a0);box-shadow:0 14px 34px -14px rgba(34,211,160,.8)}
.vh .vh-btn--danger,.vh a.vh-btn--danger{background:linear-gradient(135deg,#b42a43,#ff5a6e);box-shadow:0 14px 34px -16px rgba(255,90,110,.8)}
.vh .vh-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}
.vh .vh-row{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin:10px 0}
.vh .vh-between{display:flex;justify-content:space-between;align-items:center;gap:10px 14px;flex-wrap:wrap}
.vh .vh-inline{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0}
.vh .vh-mini{display:flex;margin-top:8px}
.vh .vh-mini .vh-input{max-width:240px}

/* ---------- Cartes et grilles ---------- */
.vh .vh-card{position:relative;min-width:0;background:var(--vh-card);border:1px solid var(--vh-line);border-radius:var(--vh-r);padding:clamp(16px,2.2vw,24px);margin:0 0 18px}
.vh .vh-card > :last-child{margin-bottom:0}
.vh .vh-card--glow{background:linear-gradient(160deg,rgba(94,28,228,.17),rgba(47,107,255,.06) 55%,rgba(255,255,255,.03));border-color:rgba(124,92,255,.35);box-shadow:0 24px 60px -36px rgba(94,28,228,.9)}
.vh .vh-card--flat{background:rgba(255,255,255,.025);margin:0}
.vh .vh-card--danger{border-color:rgba(255,90,110,.28);background:rgba(255,90,110,.045)}
.vh .vh-card--warn{border-color:rgba(255,184,0,.32);background:rgba(255,184,0,.06)}
.vh .vh-card--ai{border-color:rgba(212,35,122,.35);background:linear-gradient(160deg,rgba(212,35,122,.13),rgba(94,28,228,.08) 60%,rgba(255,255,255,.03))}
.vh .vh-card--live{border-color:rgba(0,193,255,.4);box-shadow:0 0 0 1px rgba(0,193,255,.1),0 24px 50px -32px rgba(0,193,255,.7)}
.vh details.vh-card > summary{margin:0}
.vh .vh-grid{display:grid;gap:18px;margin:0 0 4px}
.vh .vh-grid > *{min-width:0}
.vh .vh-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.vh .vh-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.vh .vh-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.vh .vh-grid--side{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start}
.vh .vh-grid--tight{gap:12px}
.vh .vh-grid--tight .vh-field{margin-bottom:4px}
.vh .vh-side{min-width:0}

/* ---------- Accueil (aucun balado) ---------- */
.vh .vh-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:26px;padding:clamp(22px,4vw,46px);margin:0 0 22px;border:1px solid rgba(124,92,255,.3);
  background:radial-gradient(700px 360px at 0% 0%,rgba(94,28,228,.34),transparent 62%),radial-gradient(600px 320px at 100% 10%,rgba(0,193,255,.16),transparent 60%),rgba(255,255,255,.03)}
.vh .vh-hero__glow{position:absolute;z-index:-1;width:420px;height:420px;right:-120px;bottom:-200px;border-radius:50%;background:radial-gradient(circle,rgba(212,35,122,.35),transparent 65%);filter:blur(10px);pointer-events:none}
.vh .vh-hero__t{font:800 clamp(26px,4vw,44px)/1.08 var(--vh-ff-h);letter-spacing:-.02em;color:#fff;max-width:24ch;margin:0 0 14px;text-wrap:balance}
.vh .vh-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 20px}
.vh .vh-hero--sm .vh-hero__t{font-size:clamp(22px,3vw,34px)}
.vh .vh-ticks li{position:relative;padding-left:26px;margin:7px 0;color:#cfd2e0}
.vh .vh-ticks li::before{content:"✓";position:absolute;left:0;top:0;color:var(--vh-green);font-weight:800}
.vh .vh-ticks--small{margin-top:14px}
.vh .vh-ticks--small li{font-size:13.5px;color:var(--vh-mut)}

/* ---------- Cartes de balado ---------- */
.vh .vh-showcard{display:grid;grid-template-columns:132px minmax(0,1fr);gap:22px;padding:20px;margin:0 0 18px;border-radius:22px;background:var(--vh-card);border:1px solid var(--vh-line);transition:border-color .2s,transform .2s;animation:vh-rise .4s ease both}
.vh .vh-showcard:hover{border-color:var(--vh-line2)}
.vh .vh-showcard__art{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.vh .vh-showcard__img{width:132px;height:132px;border-radius:18px;box-shadow:0 18px 40px -16px rgba(0,0,0,.8)}
.vh .vh-showcard__body{min-width:0}
.vh .vh-showcard .vh-h3{font-size:19px;margin-bottom:2px}
.vh .vh-stats{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 12px;font-size:13.5px;color:var(--vh-mut)}
.vh .vh-stats b{color:#fff;font-family:var(--vh-ff-h)}
.vh .vh-cover{object-fit:cover;aspect-ratio:1/1;border-radius:12px;flex:none;background:#1a1a26}
.vh .v-cover-ph{display:inline-grid;place-items:center;flex:none;border-radius:12px;background:linear-gradient(135deg,var(--vh-violet),var(--vh-blue));color:#fff;font:800 26px/1 var(--vh-ff-h);max-width:100%}
.vh .vh-artbox{display:grid;place-items:center;margin:0 0 12px}
.vh .vh-artbox__img{width:220px;height:220px;border-radius:18px;box-shadow:0 22px 50px -18px rgba(0,0,0,.85)}

/* ---------- Copier ---------- */
.vh .vh-copy{margin:0 0 12px;min-width:0}
.vh .vh-copy label{display:block;font:700 12px/1.3 var(--vh-ff-h);color:var(--vh-mut);margin:0 0 5px}
.vh .vh-copy__row{display:flex;gap:6px;min-width:0}
.vh .vh-copy__row input{flex:1;min-width:0;background:rgba(0,0,0,.3);border:1px solid var(--vh-line2);border-radius:10px;color:#cfe9ff;font:12.5px/1.4 var(--vh-mono);padding:8px 10px;height:36px;box-shadow:none}
.vh .vh-copy__row .vh-btn{flex:none}

/* ---------- Formulaires ---------- */
.vh .vh-form{margin:0}
.vh .vh-field{margin:0 0 14px;min-width:0}
.vh .vh-field > label,.vh .vh-label{display:block;font:700 12.5px/1.35 var(--vh-ff-h);color:#d7d9e6;margin:0 0 6px}
.vh .vh-input,.vh .vh-select,.vh .vh-textarea,.vh .vh-field input[type=text]{width:100%;max-width:100%;background:rgba(0,0,0,.28);border:1px solid var(--vh-line2);border-radius:12px;color:#fff;padding:10px 13px;font:15px/1.4 var(--vh-ff);min-height:44px;box-shadow:none;transition:border-color .15s,box-shadow .15s;margin:0}
.vh .vh-input:focus,.vh .vh-select:focus,.vh .vh-textarea:focus{border-color:var(--vh-cyan);box-shadow:0 0 0 3px rgba(0,193,255,.18);outline:0}
.vh .vh-input::placeholder,.vh .vh-textarea::placeholder{color:var(--vh-dim);opacity:1}
.vh .vh-input--lg{font-size:17px;padding:13px 16px;min-height:52px}
.vh .vh-input--sm,.vh .vh-select--sm{width:auto;min-height:34px;padding:6px 10px;font-size:13.5px;border-radius:10px}
.vh .vh-select{-webkit-appearance:none;appearance:none;padding-right:36px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23a3a6b4' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;background-size:12px 8px}
.vh .vh-select--sm{padding-right:30px;background-position:right 10px center}
.vh .vh-select option{background:#15151f;color:#fff}
.vh .vh-textarea{min-height:90px;resize:vertical;line-height:1.5}
.vh .vh-textarea.vh-mono,.vh .vh-input.vh-mono{font-family:var(--vh-mono);font-size:13px}
.vh input[type=datetime-local].vh-input{color-scheme:dark}
.vh .vh-fieldset{border:1px solid var(--vh-line);border-radius:16px;padding:12px 16px 6px;margin:0 0 16px;min-width:0}
.vh .vh-fieldset legend{padding:0 8px;font:700 13px var(--vh-ff-h);color:#fff}
.vh .vh-checks{display:grid;gap:2px;margin:6px 0 14px}
.vh .vh-check{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px 10px;padding:7px 0;color:var(--vh-txt);font-size:14.5px;line-height:1.45;cursor:pointer}
.vh .vh-check input[type=checkbox],.vh .vh-check input[type=radio]{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--vh-cyan);cursor:pointer}
.vh .vh-check.is-off{opacity:.55}
.vh .vh-check .vh-select--sm{margin-top:-4px}
.vh .vh-check--box{align-items:center;padding:10px 13px;border:1px solid var(--vh-line2);border-radius:12px;background:rgba(0,0,0,.2);min-height:44px}
.vh .vh-check--box input{margin:0}
.vh .vh-sticky{position:sticky;bottom:12px;z-index:5;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin:18px 0 0;padding:10px;border-radius:18px;background:rgba(12,12,19,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--vh-line2)}

/* Choix (publication, pilote de stockage) */
.vh .vh-whens,.vh .vh-drivers{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0 0 16px}
.vh .vh-when,.vh .vh-driver{position:relative;display:block;cursor:pointer;margin:0}
.vh .vh-when > input,.vh .vh-driver > input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.vh .vh-when > span,.vh .vh-driver > span{display:flex;flex-direction:column;gap:5px;height:100%;padding:14px;border-radius:16px;border:1px solid var(--vh-line2);background:rgba(255,255,255,.03);transition:all .15s}
.vh .vh-when > span b,.vh .vh-driver > span b{font:700 14.5px/1.3 var(--vh-ff-h);color:#fff}
.vh .vh-when > span small,.vh .vh-driver > span small{font-size:12.5px;color:var(--vh-mut);line-height:1.45}
.vh .vh-when:hover > span,.vh .vh-driver:hover > span{border-color:rgba(255,255,255,.3)}
.vh .vh-when > input:checked + span,.vh .vh-driver > input:checked + span{border-color:var(--vh-cyan);background:rgba(0,193,255,.1);box-shadow:inset 0 0 0 1px var(--vh-cyan),0 12px 30px -18px rgba(0,193,255,.8)}
.vh .vh-when > input:focus-visible + span,.vh .vh-driver > input:focus-visible + span{outline:2px solid var(--vh-cyan);outline-offset:2px}
.vh .vh-when .vh-input--sm{width:100%;margin-top:4px}

/* Éditeur riche */
.vh .vh-editor{border:1px solid var(--vh-line2);border-radius:14px;background:rgba(0,0,0,.28);overflow:hidden;transition:border-color .15s,box-shadow .15s}
.vh .vh-editor:focus-within{border-color:var(--vh-cyan);box-shadow:0 0 0 3px rgba(0,193,255,.18)}
.vh .vh-editor__bar{display:flex;flex-wrap:wrap;gap:3px;padding:6px;border-bottom:1px solid var(--vh-line);background:rgba(255,255,255,.04)}
.vh .vh-editor__bar button{background:transparent;border:0;color:#dfe3f5;padding:6px 10px;border-radius:8px;font:600 13px/1.2 var(--vh-ff);cursor:pointer;min-height:32px}
.vh .vh-editor__bar button:hover{background:rgba(255,255,255,.09);color:#fff}
.vh .vh-editor__area{min-height:180px;max-height:480px;overflow:auto;padding:12px 14px;outline:0;color:var(--vh-txt);line-height:1.6;overflow-wrap:anywhere}
.vh .vh-editor__area p{margin:0 0 .8em}
.vh .vh-editor__area ul{list-style:disc;padding-left:1.4em;margin:0 0 .8em}
.vh .vh-editor__area ol{list-style:decimal;padding-left:1.4em;margin:0 0 .8em}
.vh .vh-editor__area ul > li{list-style:disc}
.vh .vh-editor__area ol > li{list-style:decimal}
.vh .vh-editor__area li::marker{content:normal}
.vh .vh-editor__area a{color:var(--vh-cyan);text-decoration:underline}

/* ---------- Indicateurs, jauges, barres ---------- */
.vh .vh-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0 0 18px}
.vh .vh-kpi{position:relative;overflow:hidden;padding:16px 18px;border-radius:18px;background:var(--vh-card);border:1px solid var(--vh-line);min-width:0}
.vh .vh-kpi b{display:block;font:800 clamp(22px,2.6vw,30px)/1.1 var(--vh-ff-h);color:#fff;letter-spacing:-.01em}
.vh .vh-kpi span{display:block;color:var(--vh-mut);font-size:13px;margin-top:4px}
.vh .vh-kpi em{position:absolute;right:14px;top:12px;font-style:normal;font-size:22px;opacity:.75}
.vh .vh-kpi--hot{background:linear-gradient(150deg,rgba(94,28,228,.38),rgba(47,107,255,.16));border-color:rgba(124,92,255,.45)}
.vh .vh-kpi--err{border-color:rgba(255,90,110,.5)}
.vh .vh-kpi--err b{color:var(--vh-red)}
.vh .vh-kpis--inline{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.vh .vh-kpis--inline .vh-kpi{padding:7px 12px;border-radius:12px}
.vh .vh-kpis--inline .vh-kpi b{display:inline;font-size:16px}
.vh .vh-kpis--inline .vh-kpi span{display:inline;margin:0 0 0 5px;font-size:12.5px}
.vh .vh-meters{display:grid;gap:12px;margin:10px 0 14px}
.vh .vh-meter{margin:0 0 10px}
.vh .vh-meter__h{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;color:var(--vh-mut)}
.vh .vh-meter__h b{color:#fff;font-family:var(--vh-ff-h);white-space:nowrap}
.vh .vh-meter__bar{height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:6px}
.vh .vh-meter__bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--vh-violet),var(--vh-blue),var(--vh-cyan))}
.vh .vh-meter__bar i.is-hot{background:linear-gradient(90deg,var(--vh-amber),var(--vh-red))}
.vh .vh-bar{height:4px;border-radius:99px;background:rgba(255,255,255,.07);margin-top:6px;overflow:hidden}
.vh .vh-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--vh-violet),var(--vh-cyan))}
.vh .vh-progress{position:relative;height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin:8px 0 6px}
.vh .vh-progress i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--vh-violet),var(--vh-blue),var(--vh-cyan));transition:width .45s ease}
.vh .vh-progress span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 10px;font:700 12px/1 var(--vh-ff-h);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vh .vh-progress--big,.vh .vh-drop .vh-progress{height:28px;margin:12px 0 10px}
.vh .vh-progress--big span{font-size:13px}
.vh .vh-drop.is-busy .vh-progress i,.vh .vh-card--live .vh-progress i,.vh .vh-job--running .vh-progress i{
  background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.2) 0 10px,transparent 10px 20px),linear-gradient(90deg,var(--vh-violet),var(--vh-blue),var(--vh-cyan));
  background-size:40px 40px,100% 100%;animation:vh-stripes 1s linear infinite}

/* ---------- Envoi direct (zone de dépôt) ---------- */
.vh .vh-drop{position:relative;display:grid;justify-items:center;align-content:center;gap:8px;text-align:center;padding:clamp(22px,4vw,40px) 18px;margin:14px 0;border-radius:22px;
  border:2px dashed rgba(124,140,255,.45);background:radial-gradient(420px 200px at 50% 0%,rgba(94,28,228,.2),transparent 70%),rgba(255,255,255,.02);cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.vh .vh-drop:hover{border-color:rgba(0,193,255,.6)}
.vh .vh-drop > input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2;font-size:0}
.vh .vh-drop.is-busy > input[type=file],.vh .vh-drop.is-done > input[type=file]{pointer-events:none}
.vh .vh-drop:focus-within{outline:2px solid var(--vh-cyan);outline-offset:3px}
.vh .vh-drop__t{margin:0;font-size:15px;color:var(--vh-mut)}
.vh .vh-drop__t b,.vh .vh-drop p b{color:#fff;font-family:var(--vh-ff-h)}
.vh .vh-drop p{margin:0}
.vh .vh-drop .vh-progress{width:100%;max-width:560px}
.vh .vh-drop.is-over{border-color:var(--vh-cyan);background:rgba(0,193,255,.09);transform:scale(1.01)}
.vh .vh-drop.is-busy{border-style:solid;border-color:rgba(0,193,255,.5);cursor:progress}
.vh .vh-drop.is-done{border-style:solid;border-color:rgba(34,211,160,.6);background:rgba(34,211,160,.07)}
.vh .vh-drop.is-done .vh-progress i{background:linear-gradient(90deg,#0c9e78,var(--vh-green))}
.vh .vh-drop.is-error{border-color:rgba(255,90,110,.7);background:rgba(255,90,110,.07)}
.vh .vh-drop.is-error .vh-progress i{background:var(--vh-red)}
.vh .vh-drop--sm{padding:14px;margin:8px 0;border-radius:14px;flex:1;min-width:0;font-size:13.5px}
.vh .vh-drop--sm .vh-progress{height:22px;margin:8px 0 2px}
.vh .vh-drop__art{margin-bottom:4px}

/* ---------- Assistant d'épisode ---------- */
.vh .vh-wizard{display:flex;gap:8px;margin:0 0 18px;counter-reset:none}
.vh .vh-wizard li{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--vh-line);color:var(--vh-mut);font:700 13.5px/1.2 var(--vh-ff-h);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vh .vh-wizard li span{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.09);color:#fff;font-size:12.5px}
.vh .vh-wizard li.is-on{color:#fff;border-color:rgba(0,193,255,.55);background:rgba(0,193,255,.08)}
.vh .vh-wizard li.is-on span{background:var(--vh-grad);box-shadow:0 0 0 4px rgba(94,28,228,.25)}
.vh .vh-wizard li.is-done{color:#c9f7e8}
.vh .vh-wizard li.is-done span{background:var(--vh-green);color:#062b20}
.vh .vh-fileinfo{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:14px;margin:0 0 14px;border-radius:16px;background:rgba(0,0,0,.22);border:1px solid var(--vh-line)}
.vh .vh-fileinfo > div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.vh .vh-fileinfo b{color:#fff;overflow-wrap:anywhere}
.vh .vh-fileinfo__ico{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:14px;background:var(--vh-grad);font-size:26px;box-shadow:var(--vh-glow)}
.vh .vh-details{margin:10px 0}
.vh .vh-details > summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:8px 0;font:700 14px/1.3 var(--vh-ff-h);color:#fff}
.vh .vh-details > summary::-webkit-details-marker{display:none}
.vh .vh-details > summary::before{content:"▸";color:var(--vh-cyan);transition:transform .15s;display:inline-block}
.vh .vh-details[open] > summary::before{transform:rotate(90deg)}
.vh .vh-details > :not(summary){animation:vh-rise .25s ease both}
.vh .vh-props li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;margin:0 0 6px;border-radius:10px;background:rgba(255,255,255,.045)}
.vh .vh-props li span{flex:1;min-width:0;font-size:14px}
.vh .vh-chaplist{margin:4px 0 10px}
.vh .vh-chaplist li{padding:4px 0;font-size:13.5px}
.vh .vh-chaplist code{color:var(--vh-cyan)}
.vh .vh-jobs{display:grid;gap:10px}
.vh .vh-job{padding:12px;border-radius:14px;background:rgba(0,0,0,.2);border:1px solid var(--vh-line)}
.vh .vh-job--running{border-color:rgba(0,193,255,.38)}
.vh .vh-job--error{border-color:rgba(255,90,110,.45)}
.vh .vh-job--done{opacity:.8}
.vh .vh-keylist li{padding:7px 0;border-bottom:1px dashed var(--vh-line);font-size:14px}
.vh .vh-steps-list{list-style:decimal;padding-left:1.35em;margin:8px 0 12px}
.vh .vh-steps-list li{margin:0 0 7px;color:#d9dbe7;padding-left:2px;list-style:decimal}
.vh .vh-steps-list li::marker{content:counter(list-item) ". ";color:var(--vh-cyan);font-weight:800}
.vh .vh-steps-list li b{color:#fff}

/* ---------- Liste d'épisodes ---------- */
.vh .vh-eplist{display:grid;gap:8px;margin:0 0 18px}
.vh .vh-eprow,.vh a.vh-eprow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px 14px 10px 10px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid var(--vh-line);color:inherit;transition:background .15s,border-color .15s,transform .15s}
.vh .vh-eprow:hover{background:rgba(255,255,255,.07);border-color:var(--vh-line2);transform:translateY(-1px)}
.vh .vh-eprow__img{width:56px;height:56px;border-radius:12px}
.vh .vh-eprow__main{display:flex;flex-direction:column;gap:2px;min-width:0}
.vh .vh-eprow__main > b{color:#fff;font:600 15px/1.35 var(--vh-ff-h);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vh .vh-eprow__tags{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end;max-width:380px}
.vh .vh-eprow__ex{color:var(--vh-mut);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vh .vh-eprow__go{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--vh-grad);color:#fff;box-shadow:var(--vh-glow);transition:transform .15s}
.vh .vh-eprow:hover .vh-eprow__go{transform:scale(1.08)}
.vh .vh-eplist--pub .vh-eprow__img{width:64px;height:64px}
.vh .vh-eplist--pub .vh-eprow__main > b{white-space:normal}

/* ---------- Validation, verdicts, chronologie ---------- */
.vh .vh-verdict{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:clamp(18px,3vw,28px);margin:0 0 20px;border-radius:24px;border:1px solid var(--vh-line2);background:rgba(255,255,255,.04);animation:vh-rise .4s ease both}
.vh .vh-verdict__icon{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:rgba(255,255,255,.08);font-size:38px;line-height:1}
.vh .vh-verdict__t{font:800 clamp(20px,2.6vw,28px)/1.15 var(--vh-ff-h);color:#fff;margin:0 0 6px;letter-spacing:-.01em}
.vh .vh-verdict p{margin:0 0 6px;color:#dfe2ee}
.vh .vh-verdict__go{margin:0}
.vh .vh-verdict--ok{background:linear-gradient(135deg,rgba(34,211,160,.2),rgba(0,193,255,.08));border-color:rgba(34,211,160,.5)}
.vh .vh-verdict--ok .vh-verdict__icon{background:rgba(34,211,160,.2);box-shadow:0 0 30px rgba(34,211,160,.35)}
.vh .vh-verdict--err{background:linear-gradient(135deg,rgba(255,90,110,.14),rgba(94,28,228,.08));border-color:rgba(255,90,110,.42)}
.vh .vh-verdict--wait{background:linear-gradient(135deg,rgba(255,184,0,.15),rgba(94,28,228,.08));border-color:rgba(255,184,0,.45)}
.vh .vh-verdict--stop{background:linear-gradient(135deg,rgba(255,90,110,.14),rgba(94,28,228,.12));border-color:rgba(255,90,110,.42)}
.vh .vh-verdict--party::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.55;
  background-image:radial-gradient(circle,rgba(0,193,255,.9) 1.5px,transparent 2px),radial-gradient(circle,rgba(34,211,160,.9) 1.5px,transparent 2px),radial-gradient(circle,rgba(212,35,122,.9) 1.5px,transparent 2px);
  background-size:90px 80px,130px 110px,70px 120px;animation:vh-confetti 6s linear infinite}
.vh .vh-problems{margin:0 0 10px}
.vh .vh-problems li{padding:9px 12px;margin:0 0 6px;border-radius:10px;background:rgba(255,255,255,.035);border-left:3px solid var(--vh-line2);font-size:14px;overflow-wrap:anywhere}
.vh .vh-problems--error li{border-left-color:var(--vh-red)}
.vh .vh-problems--warning li{border-left-color:var(--vh-amber)}
.vh .vh-problems--info li{border-left-color:var(--vh-cyan)}
.vh .vh-problems__where{display:inline-block;font:11.5px/1.4 var(--vh-mono);color:var(--vh-mut);background:rgba(255,255,255,.07);padding:1px 7px;border-radius:6px;margin-right:4px}
.vh .vh-timeline{position:relative;margin:0 0 18px}
.vh .vh-tl{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;padding:0 0 14px}
.vh .vh-tl::before{content:"";position:absolute;left:22px;top:48px;bottom:0;width:2px;background:var(--vh-line2);border-radius:2px}
.vh .vh-tl:last-child::before{display:none}
.vh .vh-tl__dot{position:relative;z-index:1;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#16161f;border:2px solid var(--vh-line2);font-size:19px;line-height:1}
.vh .vh-tl__body{min-width:0;padding:14px 16px;border-radius:16px;background:var(--vh-card);border:1px solid var(--vh-line)}
.vh .vh-tl__body b{color:#fff;font-family:var(--vh-ff-h)}
.vh .vh-tl__body p{margin:6px 0 4px;color:#d3d6e3;overflow-wrap:anywhere}
.vh .vh-tl__at{display:block;margin-top:6px;font-size:12px;color:var(--vh-dim)}
.vh .vh-tl--ok .vh-tl__dot{border-color:var(--vh-green);background:rgba(34,211,160,.16);box-shadow:0 0 18px rgba(34,211,160,.35)}
.vh .vh-tl--ok::before{background:linear-gradient(var(--vh-green),rgba(34,211,160,.25))}
.vh .vh-tl--fail .vh-tl__dot{border-color:var(--vh-red);background:rgba(255,90,110,.14)}
.vh .vh-tl--fail .vh-tl__body{border-color:rgba(255,90,110,.35)}
.vh .vh-tl--todo .vh-tl__dot{border-color:var(--vh-amber);background:rgba(255,184,0,.12)}
.vh .vh-tl--pending .vh-tl__dot{border-color:var(--vh-cyan);animation:vh-pulse 1.8s ease-out infinite}
.vh .vh-tl--na,.vh .vh-tl--skip{opacity:.72}
.vh .vh-testlist{margin:14px 0 8px}
.vh .vh-testlist li{padding:8px 11px;margin:0 0 6px;border-radius:10px;background:rgba(255,255,255,.04);border-left:3px solid var(--vh-line2)}
.vh .vh-testlist li b{display:block;font:600 14px/1.35 var(--vh-ff-h);color:#fff}
.vh .vh-testlist li span{display:block;font-size:12.5px;color:var(--vh-mut);overflow-wrap:anywhere}
.vh .vh-testlist li.is-ok{border-left-color:var(--vh-green)}
.vh .vh-testlist li.is-warn{border-left-color:var(--vh-amber)}
.vh .vh-testlist li.is-fail,.vh .vh-testlist li.is-err,.vh .vh-testlist li.is-error{border-left-color:var(--vh-red);background:rgba(255,90,110,.07)}

/* ---------- Tableaux ---------- */
.vh .vh-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.vh .vh-table{width:100%;border-collapse:collapse;font-size:14px;margin:0 0 12px}
.vh .vh-table th{text-align:left;font:700 11.5px/1.3 var(--vh-ff-h);text-transform:uppercase;letter-spacing:.07em;color:var(--vh-dim);padding:10px;border-bottom:1px solid var(--vh-line);white-space:nowrap}
.vh .vh-table td{padding:11px 10px;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle}
.vh .vh-table tbody tr:hover td{background:rgba(255,255,255,.025)}
.vh .vh-table td b{color:#fff}
.vh .vh-table a{color:var(--vh-cyan)}
.vh .vh-table--form th[scope=row]{text-transform:none;letter-spacing:0;font:600 13.5px/1.35 var(--vh-ff);color:var(--vh-txt);white-space:normal}
.vh .vh-table--form .vh-input{width:96px}

/* ---------- YouTube ---------- */
.vh .vh-yt{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;align-items:start}
.vh .vh-yt__logo{display:grid;place-items:center;width:72px;height:52px;border-radius:15px;background:#ff0033;color:#fff;font-size:24px;box-shadow:0 16px 34px -12px rgba(255,0,51,.7)}

/* ---------- Fenêtre (aperçu) ---------- */
.vh .vh-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px;background:rgba(5,5,10,.74);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.vh .vh-modal__box{position:relative;width:min(760px,100%);padding:34px 20px 20px;border-radius:20px;background:#14141e;border:1px solid var(--vh-line2);box-shadow:var(--vh-shadow)}
.vh .vh-modal__box video{max-height:70vh;border-radius:12px;background:#000}
.vh .vh-modal__x{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.09);color:#fff;font-size:16px;cursor:pointer}
.vh .vh-modal__x:hover{background:rgba(255,255,255,.18)}

/* =========================================================================
   PAGES PUBLIQUES « LIEN INTELLIGENT »
   ========================================================================= */
.vh.vh-pub{border-radius:28px;padding:clamp(14px,3.2vw,42px);overflow:hidden;isolation:isolate;box-shadow:var(--vh-shadow);
  background:radial-gradient(900px 480px at 0% -10%,rgba(94,28,228,.3),transparent 60%),radial-gradient(800px 420px at 105% 5%,rgba(0,193,255,.13),transparent 60%),radial-gradient(700px 500px at 50% 120%,rgba(212,35,122,.11),transparent 60%),var(--vh-bg)}
.vh-pub .vh-alert{margin-bottom:14px}
.vh .vh-ephero{position:relative;isolation:isolate;overflow:hidden;border-radius:26px;margin:0 0 18px;background:rgba(255,255,255,.03);border:1px solid var(--vh-line)}
.vh .vh-ephero__bg{position:absolute;inset:-60px;z-index:-2;background-size:cover;background-position:center;filter:blur(46px) saturate(1.4);opacity:.5;transform:scale(1.1)}
.vh .vh-ephero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,11,17,.25),rgba(11,11,17,.82))}
.vh .vh-ephero__in{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(18px,3.4vw,40px);align-items:center;padding:clamp(16px,3.4vw,40px)}
.vh .vh-ephero__art{position:relative}
.vh .vh-ephero__art img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:22px;box-shadow:0 30px 60px -20px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.08)}
.vh .vh-ephero__ph{display:grid;place-items:center;width:100%;aspect-ratio:1/1;border-radius:22px;background:var(--vh-grad);color:#fff;font:800 clamp(56px,9vw,110px)/1 var(--vh-ff-h);box-shadow:0 30px 60px -20px rgba(0,0,0,.85)}
.vh .vh-ephero__eq{position:absolute;right:14px;bottom:14px;padding:8px 9px;border-radius:12px;background:rgba(0,0,0,.6);opacity:0;transition:opacity .3s}
.vh .vh-ephero__eq i{animation-play-state:paused}
.vh-playing .vh .vh-ephero__eq{opacity:1}
.vh-playing .vh .vh-ephero__eq i{animation-play-state:running}
.vh .vh-ephero__txt{min-width:0}
.vh .vh-ephero__t{font:800 clamp(26px,4.2vw,48px)/1.06 var(--vh-ff-h);letter-spacing:-.02em;color:#fff;margin:0 0 12px;text-wrap:balance;overflow-wrap:anywhere}
.vh .vh-ephero__by{color:#cfd2e0;font:600 16px/1.3 var(--vh-ff-h);margin:0 0 12px}
.vh .vh-ephero__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;color:#d5d8e6;font-size:14px;margin:0 0 18px}
.vh .vh-ephero__meta > span{display:inline-flex;align-items:center;gap:6px}
.vh .vh-ephero__meta svg{flex:none}
.vh .vh-prose{color:#d9dbe7;line-height:1.72;overflow-wrap:anywhere}
.vh .vh-prose p{margin:0 0 1em}
.vh .vh-prose ul{list-style:disc;padding-left:1.4em;margin:0 0 1em}
.vh .vh-prose ol{list-style:decimal;padding-left:1.4em;margin:0 0 1em}
.vh .vh-prose li{margin:.25em 0}
.vh .vh-prose ul > li{list-style:disc}
.vh .vh-prose ol > li{list-style:decimal}
.vh .vh-prose li::marker{content:normal}
.vh .vh-prose a{color:var(--vh-cyan);text-decoration:underline;text-underline-offset:3px}
.vh .vh-prose strong,.vh .vh-prose b{color:#fff}
.vh .vh-prose--hero{color:#c7cad8;font-size:15.5px;max-width:70ch;margin:0 0 18px;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.vh .vh-prose--hero p{margin:0 0 .6em}

/* Lecteur (le fichier n'est demandé qu'au clic) */
.vh .vh-player{margin:6px 0 0;padding:12px;border-radius:20px;background:rgba(10,10,18,.62);border:1px solid var(--vh-line2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.vh .vh-player__bar{display:flex;align-items:center;gap:10px;min-width:0}
.vh .vh-player__pp{flex:none;display:grid;place-items:center;width:56px;height:56px;padding:0;border-radius:50%;border:0;background:var(--vh-grad);color:#fff;font-size:22px;cursor:pointer;box-shadow:var(--vh-glow);transition:transform .15s}
.vh .vh-player__pp:hover{transform:scale(1.06)}
.vh .vh-player.is-playing .vh-player__pp{animation:vh-pulse 1.8s ease-out infinite}
.vh .vh-player__skip,.vh .vh-player__rate{flex:none;padding:8px 10px;min-width:44px;border-radius:999px;border:0;background:rgba(255,255,255,.08);color:#fff;font:700 12.5px/1 var(--vh-ff-h);cursor:pointer;font-variant-numeric:tabular-nums}
.vh .vh-player__skip:hover,.vh .vh-player__rate:hover{background:rgba(255,255,255,.16)}
.vh .vh-player__track{position:relative;flex:1;min-width:60px;height:36px;display:flex;align-items:center}
.vh .vh-player__track::before{content:"";position:absolute;left:0;right:0;top:50%;height:6px;margin-top:-3px;border-radius:99px;background:rgba(255,255,255,.13)}
.vh .vh-player__track:focus-within::before{box-shadow:0 0 0 2px var(--vh-cyan)}
.vh .vh-player__fill{position:absolute;left:0;top:50%;height:6px;margin-top:-3px;width:0;border-radius:99px;background:linear-gradient(90deg,var(--vh-violet),var(--vh-blue),var(--vh-cyan));pointer-events:none}
.vh .vh-player__fill::after{content:"";position:absolute;right:-7px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(0,193,255,.35)}
.vh .vh-player__track input[type=range]{position:absolute;inset:0;z-index:2;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.vh .vh-player__mark{position:absolute;top:50%;z-index:1;width:3px;height:12px;transform:translate(-50%,-50%);border-radius:2px;background:rgba(255,255,255,.75);pointer-events:none}
.vh .vh-player__time{flex:none;font:600 12.5px/1 var(--vh-ff-h);color:var(--vh-mut);white-space:nowrap;font-variant-numeric:tabular-nums}
.vh .vh-player__screen{position:relative;aspect-ratio:16/9;margin:0 0 10px;border-radius:14px;overflow:hidden;background:#000}
.vh .vh-player__screen img{width:100%;height:100%;object-fit:cover;opacity:.55;filter:blur(2px)}
.vh .vh-player__screen video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.vh .vh-player--mini{padding:6px 8px;border-radius:16px}
.vh .vh-player--mini .vh-player__pp{width:42px;height:42px;font-size:16px}

/* Écouter ailleurs */
.vh .vh-listen{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}
.vh .vh-listen__a,.vh a.vh-listen__a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;min-height:44px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--vh-line2);color:#fff;font:600 14px/1.1 var(--vh-ff-h);cursor:pointer;transition:transform .15s,background .15s,border-color .15s}
.vh .vh-listen__a:hover{transform:translateY(-2px);background:rgba(255,255,255,.11);color:#fff}
.vh .vh-listen__a svg{flex:none}
.vh .vh-listen__a--apple svg{color:#c36cf2}
.vh .vh-listen__a--spotify svg{color:#1ed760}
.vh .vh-listen__a--youtube svg{color:#ff2a4a}
.vh .vh-listen__a--vodeo svg{color:var(--vh-cyan)}
.vh .vh-listen__a--rss svg{color:#ff9a3d}
.vh .vh-listen__a--pocketcasts svg{color:#f6524a}
.vh .vh-listen__a--overcast svg{color:#fc8a2a}
.vh .vh-listen__a.is-done{border-color:var(--vh-green)}

.vh .vh-epgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:26px;align-items:start}
.vh .vh-epmain,.vh .vh-epside{min-width:0}
.vh .vh-epsec{margin:0 0 26px}
.vh .vh-chapters li + li{border-top:1px solid rgba(255,255,255,.05)}
.vh .vh-chapters button{display:flex;align-items:baseline;justify-content:flex-start;gap:12px;width:100%;padding:10px 12px;border:0;border-radius:12px;background:transparent;color:var(--vh-txt);font:15px/1.4 var(--vh-ff);text-align:left;cursor:pointer}
.vh .vh-chapters button:hover,.vh .vh-chapters button.is-on{background:rgba(255,255,255,.06);color:#fff}
.vh .vh-chapters time{flex:none;min-width:58px;font:700 13px/1.4 var(--vh-ff-h);color:var(--vh-cyan);font-variant-numeric:tabular-nums}
.vh .vh-transcript > summary{display:flex;flex-direction:column;gap:2px;cursor:pointer;list-style:none}
.vh .vh-transcript > summary::-webkit-details-marker{display:none}
.vh .vh-transcript > summary .vh-h2{margin:0}
.vh .vh-transcript > summary .vh-h2::after{content:" ▸";color:var(--vh-cyan);font-size:.8em}
.vh .vh-transcript[open] > summary .vh-h2::after{content:" ▾"}
.vh .vh-transcript__body{max-height:520px;overflow:auto;margin-top:12px;padding:10px;border-radius:16px;background:rgba(0,0,0,.25);border:1px solid var(--vh-line)}
.vh .vh-transcript__body p{margin:0;padding:6px 10px;border-radius:8px;color:#d9dbe7;cursor:pointer;transition:background .15s}
.vh .vh-transcript__body p:hover{background:rgba(255,255,255,.045)}
.vh .vh-transcript__body p.is-on{background:rgba(0,193,255,.13);color:#fff}
.vh .vh-transcript__body time{margin-right:8px;font:600 12px/1 var(--vh-ff-h);color:var(--vh-dim);font-variant-numeric:tabular-nums}
.vh .vh-spk{display:block;margin:8px 0 2px;color:var(--vh-cyan);font:700 11.5px/1.2 var(--vh-ff-h);text-transform:uppercase;letter-spacing:.08em}

/* Façade YouTube (Loi 25 : rien de Google avant le clic) */
.vh .vh-facade{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;cursor:pointer;border:1px solid var(--vh-line)}
.vh .vh-facade > img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.55) blur(1px);transform:scale(1.02)}
.vh .vh-facade__play{position:absolute;left:50%;top:50%;width:84px;height:60px;transform:translate(-50%,-50%);border:0;border-radius:18px;background:#ff0033;color:#fff;font-size:26px;cursor:pointer;box-shadow:0 18px 40px -12px rgba(255,0,51,.8);transition:transform .15s}
.vh .vh-facade:hover .vh-facade__play{transform:translate(-50%,-50%) scale(1.08)}
.vh .vh-facade__note{position:absolute;left:0;right:0;bottom:0;margin:0;padding:12px 14px;font-size:12.5px;color:#e3e3ee;background:linear-gradient(transparent,rgba(0,0,0,.8))}
.vh .vh-facade.is-on{cursor:default}
.vh .vh-facade iframe{display:block;width:100%;height:100%;border:0}

.vh .vh-showbox{display:grid;gap:12px;padding:18px;margin:0 0 16px;border-radius:20px;background:var(--vh-card);border:1px solid var(--vh-line)}
.vh .vh-showbox > img{width:96px;height:96px;object-fit:cover;border-radius:14px}
.vh .vh-showbox--flat{background:rgba(255,255,255,.025)}
.vh .vh-showbox .vh-h3 a:hover{color:var(--vh-cyan)}
.vh .vh-morelist li a{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.vh .vh-morelist li:last-child a{border-bottom:0}
.vh .vh-morelist b{color:#fff;font:600 14.5px/1.35 var(--vh-ff-h)}
.vh .vh-morelist span{color:var(--vh-mut);font-size:12.5px}
.vh .vh-morelist a:hover b{color:var(--vh-cyan)}
.vh .vh-hosted{margin:26px 0 0;text-align:center;color:var(--vh-dim);font-size:13px}
.vh .vh-showgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
.vh .vh-showtile,.vh a.vh-showtile{display:flex;flex-direction:column;gap:3px;padding:12px;border-radius:20px;background:var(--vh-card);border:1px solid var(--vh-line);transition:transform .2s,border-color .2s;color:inherit}
.vh .vh-showtile:hover{transform:translateY(-4px);border-color:rgba(0,193,255,.4)}
.vh .vh-showtile img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;margin:0 0 8px}
.vh .vh-showtile__ph{display:grid;place-items:center;aspect-ratio:1/1;margin:0 0 8px;border-radius:14px;background:var(--vh-grad);color:#fff;font:800 64px/1 var(--vh-ff-h)}
.vh .vh-showtile b{color:#fff;font:700 15.5px/1.3 var(--vh-ff-h)}
.vh .vh-showtile span{color:var(--vh-mut);font-size:13px}

/* =========================================================================
   LECTEUR INTÉGRABLE /lecteur/{id}/ (document autonome, iframe de 180 px)
   ========================================================================= */
.vh-embed-body{margin:0;background:#0b0b11;color:#ececf2;font-family:Lato,"Segoe UI",system-ui,-apple-system,Roboto,sans-serif;overflow:hidden}
.vh.vh-embed{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:center;height:180px;padding:12px 14px;
  background:radial-gradient(420px 220px at 0% 0%,rgba(94,28,228,.35),transparent 65%),radial-gradient(360px 200px at 100% 100%,rgba(0,193,255,.14),transparent 60%),#0b0b11}
.vh .vh-embed__art img,.vh .vh-embed__art .vh-ephero__ph{width:120px;height:120px;object-fit:cover;border-radius:14px;font-size:48px;box-shadow:0 14px 30px -12px rgba(0,0,0,.8)}
.vh .vh-embed__main{min-width:0}
.vh .vh-embed__show{margin:0 0 2px;color:var(--vh-cyan);font:700 11px/1.3 var(--vh-ff-h);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vh .vh-embed__t{margin:0 0 6px;color:#fff;font:700 16px/1.25 var(--vh-ff-h);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vh .vh-embed__foot{display:flex;justify-content:space-between;gap:10px;margin:6px 0 0;font-size:12px;color:var(--vh-dim)}
.vh .vh-embed__foot a{color:var(--vh-mut);text-decoration:underline;text-underline-offset:2px}
.vh .vh-embed__foot a:hover{color:#fff}

/* =========================================================================
   ÉCRANS ÉTROITS
   ========================================================================= */
@media (max-width:960px){
  .vh .vh-grid--side,.vh .vh-epgrid{grid-template-columns:minmax(0,1fr)}
  .vh .vh-grid--3,.vh .vh-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .vh .vh-ephero__in{grid-template-columns:minmax(0,1fr)}
  .vh .vh-ephero__art{max-width:240px}
  .vh .vh-verdict{grid-template-columns:auto minmax(0,1fr)}
  .vh .vh-verdict__go{grid-column:1/-1}
  .vh .vh-verdict__go .vh-btn{width:100%}
  .vh .vh-verdict > .vh-pill{grid-column:1/-1;justify-self:start}
}
@media (max-width:600px){
  .vh{font-size:14.5px}
  .vh .vh-grid--2,.vh .vh-grid--3{grid-template-columns:minmax(0,1fr)}
  .vh .vh-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vh .vh-top{align-items:flex-start}
  .vh .vh-top__brand .vh-eq{display:none}
  .vh .vh-nav{border-radius:16px}
  .vh .vh-nav a{padding:8px 12px;font-size:13px}
  .vh .vh-card{border-radius:16px;padding:15px}
  .vh .vh-hero{border-radius:20px}
  .vh .vh-showcard{grid-template-columns:minmax(0,1fr);gap:12px;padding:15px}
  .vh .vh-showcard__art{flex-direction:row;align-items:center}
  .vh .vh-showcard__img{width:84px;height:84px;border-radius:14px}
  .vh .vh-eprow,.vh a.vh-eprow{grid-template-columns:auto minmax(0,1fr);gap:10px 12px}
  .vh .vh-eprow__tags{grid-column:1/-1;justify-content:flex-start;max-width:none}
  .vh .vh-eplist--pub .vh-eprow{grid-template-columns:auto minmax(0,1fr) auto}
  .vh .vh-eplist--pub .vh-eprow__img{width:52px;height:52px}
  .vh .vh-eplist--pub .vh-eprow__go{width:36px;height:36px}
  .vh .vh-eprow__main > b{white-space:normal}
  .vh .vh-wizard{gap:5px}
  .vh .vh-wizard li{padding:8px;gap:6px;font-size:12px}
  .vh .vh-wizard li span{width:22px;height:22px;font-size:11px}
  .vh .vh-verdict{gap:12px}
  .vh .vh-verdict__icon{width:52px;height:52px;font-size:28px;border-radius:15px}
  .vh .vh-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vh .vh-kpi{padding:13px 14px}
  .vh .vh-kpi em{font-size:18px;right:10px;top:10px}
  .vh .vh-yt{grid-template-columns:minmax(0,1fr)}
  .vh .vh-tl{grid-template-columns:38px minmax(0,1fr);gap:10px}
  .vh .vh-tl__dot{width:38px;height:38px;font-size:16px}
  .vh .vh-tl::before{left:18px;top:40px}
  .vh .vh-tl__body{padding:12px}
  .vh .vh-sticky{bottom:8px}
  .vh .vh-sticky .vh-btn{width:100%}
  .vh .vh-mini{flex-wrap:wrap}
  .vh .vh-mini .vh-input{max-width:none;flex:1 1 160px}
  /* Boutons longs (« J'ai vérifié Spotify… ») : retour à la ligne au lieu de déborder de la carte */
  .vh .vh-btn,.vh a.vh-btn{white-space:normal;max-width:100%;text-align:center;line-height:1.25}
  .vh .vh-props li{flex-wrap:wrap}
  .vh .vh-copy__row{flex-wrap:wrap}
  .vh .vh-copy__row input{flex:1 1 100%}
  .vh.vh-pub{border-radius:20px}
  .vh .vh-ephero{border-radius:20px}
  .vh .vh-ephero__art{max-width:200px}
  .vh .vh-player__bar{flex-wrap:wrap;row-gap:6px}
  .vh .vh-player__track{order:9;flex:1 0 100%}
  .vh .vh-player__time{margin-left:auto}
  .vh .vh-showgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .vh .vh-showtile__ph{font-size:44px}
  .vh .vh-listen__a{padding:9px 13px;font-size:13px}
}
@media (max-width:420px){
  .vh.vh-embed{grid-template-columns:72px minmax(0,1fr);gap:10px;padding:10px}
  .vh .vh-embed__art img,.vh .vh-embed__art .vh-ephero__ph{width:72px;height:72px;font-size:30px;border-radius:12px}
  .vh .vh-embed .vh-player__bar{flex-wrap:nowrap}
  .vh .vh-embed .vh-player__track{order:0;flex:1}
  .vh .vh-embed .vh-player__time{display:none}
}
@media (prefers-reduced-motion:reduce){
  .vh *,.vh *::before,.vh *::after{animation:none!important;transition:none!important}
}
@media print{
  .vh .vh-nav,.vh .vh-sticky,.vh .vh-drop,.vh .vh-player,.vh .vh-listen,.vh .vh-facade{display:none!important}
  .vh,.vh.vh-pub{background:#fff!important;color:#000;box-shadow:none}
}
