:root {
 --pm-fundo:#101333;
 --pm-painel:#191b49;
 --pm-roxo:#7138ed;
 --pm-magenta:#b52be8;
 --pm-laranja:#ff8a16;
 --pm-ciano:#12bde9;
 --pm-texto:#20223d;
}
body { background:#f4f5fb; color:var(--pm-texto); min-height:100vh; }
.fundo-escuro { background:var(--pm-fundo); }
.marca-play { letter-spacing:-.7px; font-size:1.35rem; font-weight:800; }
.marca-texto { color:#fff; }
.marca-texto span { color:var(--pm-laranja); }
.btn-destaque {
 background:linear-gradient(105deg,var(--pm-roxo),var(--pm-magenta),var(--pm-laranja));
 color:#fff; border:0; font-weight:700; box-shadow:0 7px 18px rgba(113,56,237,.2);
}
.btn-destaque:hover { filter:brightness(1.08); color:#fff; transform:translateY(-1px); }
.painel-topo {
 background:radial-gradient(circle at 80% 10%,rgba(113,56,237,.45),transparent 35%),
 linear-gradient(120deg,#101333,#20204f 65%,#321b65);
 color:white; border-radius:20px; padding:2rem;
}
.cartao-play { border:0; border-radius:16px; box-shadow:0 8px 28px rgba(16,19,51,.08); }
.cartao-play .card-header { background:white; border-bottom:1px solid #edf0f4; font-weight:700; }
.midia-capa { width:100%; aspect-ratio:16/9; object-fit:cover; background:#e5eaf1; border-radius:12px; }
.album-capa { width:100%; aspect-ratio:1; object-fit:cover; background:#e5eaf1; border-radius:12px; }
.preco { color:#7138ed; font-weight:800; font-size:1.5rem; }
.qr-area { background:#fff; padding:1rem; display:inline-block; border-radius:12px; }
footer { background:#fff; border-top:1px solid #e8edf3; }
.form-label { font-weight:600; }
.logo-destaque { width:min(100%,390px); height:auto; }
.badge.text-bg-success { background:#15a889!important; }

.vitrine-visitante { padding:clamp(1.5rem,4vw,3.5rem); }
.vitrine-imagem { width:100%; height:190px; object-fit:cover; background:#171943; }
.vitrine-placeholder { height:190px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:4rem; font-weight:800; background:radial-gradient(circle at 75% 20%,#b52be8,transparent 38%),linear-gradient(135deg,#101333,#7138ed); }
.feature-icone { width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#7138ed,#b52be8,#ff8a16);color:#fff;font-size:1.6rem;margin-bottom:1rem; }
.cta-artista { color:#fff;background:linear-gradient(120deg,#171943,#30205f 65%,#7138ed); }
#artistas { scroll-margin-top:90px; }

/* Vitrine audiovisual estilo streaming */
.pm-populares { position:relative; }
.pm-eyebrow { color:#7138ed; font-size:.72rem; font-weight:800; letter-spacing:1.8px; text-transform:uppercase; margin-bottom:.35rem; }
.pm-media-rail { display:flex; gap:1.1rem; overflow-x:auto; padding:.35rem .1rem 1.1rem; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#b9a3f4 transparent; }
.pm-media-card { flex:0 0 clamp(245px,30vw,340px); min-width:0; scroll-snap-align:start; }
.pm-media-art { display:block; position:relative; overflow:hidden; aspect-ratio:16/9; border-radius:16px; background:#101333; color:#fff; box-shadow:0 10px 28px rgba(16,19,51,.16); isolation:isolate; }
.pm-media-art>img,.pm-media-art>video,.pm-art-placeholder { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease,filter .45s ease; }
.pm-media-art:hover>img,.pm-media-card.is-previewing .pm-media-art>video { transform:scale(1.045); }
.pm-media-art>video { position:absolute; inset:0; z-index:0; }
.pm-art-placeholder { display:grid; place-items:center; color:#fff; font-size:3.3rem; background:radial-gradient(circle at 75% 15%,rgba(255,138,22,.7),transparent 32%),linear-gradient(135deg,#101333,#7138ed 65%,#b52be8); }
.pm-art-photo { background:linear-gradient(135deg,#101333,#12bde9,#7138ed); }
.pm-card-gradient { position:absolute; inset:25% 0 0; z-index:1; background:linear-gradient(180deg,transparent,rgba(8,10,30,.9)); pointer-events:none; }
.pm-media-title { position:absolute; z-index:2; left:1rem; right:1rem; bottom:.9rem; display:flex; flex-direction:column; gap:.12rem; color:#fff; text-shadow:0 2px 8px #0008; }
.pm-media-title strong { font-size:1.08rem; line-height:1.2; }
.pm-media-title small { color:rgba(255,255,255,.78); }
.pm-type-tag { position:absolute; z-index:2; top:.75rem; left:.75rem; padding:.3rem .55rem; border-radius:6px; background:rgba(16,19,51,.72); color:#fff; font-size:.65rem; font-weight:800; letter-spacing:.8px; backdrop-filter:blur(8px); }
.pm-play-indicator { position:absolute; z-index:2; top:50%; left:50%; transform:translate(-50%,-50%) scale(.88); width:48px; height:48px; border-radius:50%; display:grid; place-items:center; color:#fff; background:rgba(113,56,237,.88); font-size:1.65rem; opacity:0; transition:.25s ease; box-shadow:0 5px 22px #0005; }
.pm-media-art:hover .pm-play-indicator,.pm-media-card.is-previewing .pm-play-indicator { opacity:1; transform:translate(-50%,-50%) scale(1); }
.pm-preview-label { position:absolute; z-index:2; right:.7rem; top:.75rem; color:#fff; font-size:.62rem; background:rgba(0,0,0,.48); border-radius:5px; padding:.25rem .45rem; opacity:0; transition:opacity .2s; }
.pm-media-card.is-previewing .pm-preview-label { opacity:1; }
.pm-media-meta { display:flex; justify-content:space-between; align-items:center; gap:.5rem; padding:.65rem .15rem 0; color:#777b91; font-size:.75rem; }
.pm-media-meta a { color:#7138ed; text-decoration:none; font-weight:700; white-space:nowrap; }
.pm-media-meta a:hover { color:#b52be8; }
.pm-scroll-btn { width:38px; height:38px; border:1px solid #e2e3ed; background:#fff; border-radius:50%; color:#25264b; display:grid; place-items:center; transition:.2s; }
.pm-scroll-btn:hover { background:#7138ed; border-color:#7138ed; color:#fff; }
@media(max-width:575.98px){.pm-media-card{flex-basis:82vw}.pm-media-rail{gap:.8rem;margin-right:-.75rem;padding-right:.75rem}.pm-media-meta{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){.pm-media-art>img,.pm-media-art>video,.pm-play-indicator{transition:none}}
