/* Detalhe canônico do vídeo (componente compartilhado). Ranking, Radar e Biblioteca. Classes com prefixo vd-.
   Etapa 01 (09/11/2026): composição da referência, uma área de rolagem, rodapé fixo ao modal. */
.vd-wrap{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px}
.vd-scrim{position:absolute;inset:0;background:var(--color-scrim)}
.vd-dlg{position:relative;width:min(1040px,100%);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:12px;min-width:0}
.vd-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid var(--color-border);flex-shrink:0}
.vd-titulo{font-size:20px;line-height:28px;font-weight:600;margin:0;outline:none}
.vd-fechar{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:0 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);cursor:pointer;font:inherit}
.vd-fechar .ico{width:20px;height:20px}
.vd-corpo{flex:1 1 auto;min-height:0;overflow-y:auto;display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:start;padding:24px}
.vd-ref{display:grid;gap:12px;align-self:start;min-width:0}
.vd-info{display:grid;gap:20px;align-content:start;min-width:0}
.vd-midia{position:relative;width:100%;aspect-ratio:9/16;border-radius:8px;overflow:hidden;background:var(--color-surface-subtle);display:grid;place-items:center}
.vd-midia img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;min-width:0;min-height:0;object-fit:contain;display:block}
a.vd-midia-link{text-decoration:none;color:inherit;cursor:pointer}
a.vd-midia-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.vd-midia-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;display:grid;place-items:center;pointer-events:none}
.vd-midia-play .ico{width:22px;height:22px}
.vd-id{display:flex;align-items:center;gap:12px;min-width:0}
.vd-avatar{width:48px;height:48px;border-radius:50%;flex:0 0 48px;background:var(--color-surface-subtle);overflow:hidden;display:grid;place-items:center}
.vd-avatar img{width:100%;height:100%;object-fit:cover}
.vd-avatar-neutro{font-size:18px;line-height:24px;font-weight:600;color:var(--color-text-muted)}
.vd-id-txt{display:grid;gap:2px;min-width:0}
.vd-id-nome{margin:0;font-size:18px;line-height:26px;font-weight:600;overflow-wrap:anywhere}
.vd-id-arroba{font-size:14px;line-height:20px;color:var(--color-link);overflow-wrap:anywhere;width:fit-content;min-height:44px;display:inline-flex;align-items:center}
.vd-meta{margin:0;font-size:14px;line-height:20px;color:var(--color-text-muted)}
.vd-total{border:1px solid var(--color-border);border-radius:8px;padding:16px;display:grid;gap:4px}
.vd-total-rot{margin:0;font-size:14px;line-height:20px;color:var(--color-text-muted)}
.vd-total-num{margin:0;font-size:32px;line-height:40px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.vd-bloco-titulo{font-size:16px;line-height:24px;font-weight:600;margin:0 0 8px}
.vd-metricas{display:grid;grid-template-columns:1fr 1fr;margin:0;border:1px solid var(--color-border);border-radius:8px}
.vd-m{padding:14px 16px;min-width:0}
.vd-m:first-child{border-right:1px solid var(--color-border)}
.vd-m dt{font-size:14px;line-height:20px;color:var(--color-text-muted)}
.vd-m dd{margin:4px 0 0}
.vd-v{font-size:22px;line-height:28px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}
.vd-destaque{color:var(--color-link)}
.vd-sub{font-size:12px;line-height:18px;color:var(--color-text-muted)}
.vd-produto{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--color-border);border-radius:8px}
.vd-produto-img{width:48px;height:48px;border-radius:6px;overflow:hidden;background:var(--color-surface-subtle)}
.vd-produto-img img{width:100%;height:100%;object-fit:cover}
.vd-produto-txt{min-width:0}
.vd-produto-nome{font-size:15px;line-height:22px;font-weight:500;overflow-wrap:break-word;min-width:0}
.vd-produto--sem-imagem{grid-template-columns:minmax(0,1fr) auto}
.vd-produto-acoes{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.vd-loja:empty{display:none}
.vd-loja{display:flex}
.vd-ver-loja{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:inherit}
.vd-ver-produto{min-height:44px;padding:0 12px;border:1px solid var(--color-primary);border-radius:8px;background:transparent;color:var(--color-link);cursor:pointer;font:inherit;white-space:nowrap}
.vd-descricao{margin:0;font-size:14px;line-height:22px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--color-text)}
.vd-tiktok{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--color-primary);border-radius:8px;background:var(--color-surface);color:var(--color-link);text-decoration:none;font-weight:500;text-align:center}
.vd-tiktok .ico{width:20px;height:20px;flex:0 0 20px}
.vd-rodape{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border);flex-shrink:0;background:var(--color-surface)}
.vd-gerar{min-height:44px;padding:0 16px;border-radius:8px;border:0;background:var(--color-primary);color:var(--color-on-primary);font:inherit;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.vd-gerar .ico{width:20px;height:20px}
.vd-gerar:hover{background:var(--color-primary-hover)}
.vd-salvar{min-height:44px;min-width:44px;padding:0 16px;border:1px solid var(--color-primary);border-radius:8px;background:var(--color-surface);color:var(--color-link);cursor:pointer;font:inherit;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.vd-salvar .ico{width:20px;height:20px}
.vd-salvar[aria-pressed="true"]{color:var(--color-text);border-color:var(--color-border)}
.vd-txt-m{display:none}
.vd-aviso{grid-column:1 / -1;margin:0;font-size:14px;line-height:20px;color:var(--color-danger)}
.vd-aviso:empty{display:none}
@media (max-width:679px){
  .vd-wrap{padding:0}
  .vd-dlg{width:100%;height:100dvh;max-height:none;border-radius:0;border:0}
  .vd-cab{padding:16px}
  .vd-titulo{font-size:18px;line-height:24px}
  .vd-corpo{display:flex;flex-direction:column;gap:16px;padding:16px;align-items:stretch}
  /* Área de rolagem: os blocos não encolhem (senão a capa some com altura zero). */
  .vd-corpo>*,.vd-midia,.vd-tiktok,.vd-id,.vd-total,.vd-resultados,.vd-produtos,.vd-descricao-bloco,.vd-aviso{flex-shrink:0}
  .vd-ref,.vd-info{display:contents}
  .vd-id{order:1}
  .vd-midia{order:2;height:240px;aspect-ratio:auto;width:100%}
  .vd-tiktok{order:3}
  .vd-total{order:4}
  .vd-resultados{order:5}
  .vd-produtos{order:6}
  .vd-descricao-bloco{order:7}
  .vd-aviso{order:8}
  .vd-total-num{font-size:28px;line-height:36px}
  .vd-v{font-size:18px;line-height:24px}
  .vd-m{padding:12px}
  .vd-rodape{padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .vd-salvar{flex:0 0 auto;padding:0 12px}
  .vd-gerar{flex:1 1 auto}
  .vd-txt-d{display:none}
  .vd-txt-m{display:inline}
  .vd-produto{grid-template-columns:48px minmax(0,1fr)}
  .vd-produto--sem-imagem{grid-template-columns:minmax(0,1fr)}
  .vd-produto--sem-imagem .vd-ver-produto,.vd-ver-produto{grid-column:1 / -1;width:100%}
  .vd-produto-acoes{grid-column:1 / -1}
  .vd-produto-acoes>*{flex:1 1 0}
}
