/* Listados y fichas (cantantes, canciones, colabs) */
.grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.card-m {
    background:var(--st-surface);
    border:1px solid color-mix(in srgb,var(--st-text) 12%,transparent);
    border-radius:14px; overflow:hidden; padding:18px; min-width:0;
}
.card-m img { display:block; width:100%; aspect-ratio:1; object-fit:cover; border-radius:10px; background:#222; }
.card-m-info { padding-top:16px; }
.card-m-info h2 { margin:0 0 10px; }
.card-m-info p { margin:0 0 6px; }
.card-m-link { display:block; color:inherit; text-decoration:none; transition:transform .15s ease; }
.card-m-link:hover { transform:translateY(-3px); }
.card-m-link .card-m-info h2 { margin:0; }
.badge-grammy { display:inline-block; margin-top:6px; padding:3px 10px; border-radius:999px; font-size:.8rem; font-weight:600; border:1px solid color-mix(in srgb,var(--st-text) 25%,transparent); }
.volver { margin-bottom:24px; }
.detalle { display:grid; grid-template-columns:minmax(0,380px) minmax(0,1fr); gap:36px; align-items:start; }
.detalle .card-m-info { padding-top:0; }
.detalle h2 { font-size:2rem; margin:0 0 16px; }
.detalle p { font-size:1.05rem; }
.detalle a { color:inherit; }
@media (max-width:900px){ .grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px){ .detalle { grid-template-columns:1fr; gap:20px; } }
@media (max-width:600px){ .grid-3 { grid-template-columns:1fr; } }

/* Buscador */
.buscador { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:32px; }
.buscador input[type="search"], .buscador select {
    min-height:50px; padding:0 16px; border-radius:14px;
    border:1px solid color-mix(in srgb,var(--st-text) 18%,transparent);
    background:var(--st-surface); color:var(--st-text); font:inherit;
}
.buscador input[type="search"] { flex:1 1 280px; }
.buscador select { flex:0 1 220px; }
.buscador input:focus, .buscador select:focus { outline:2px solid color-mix(in srgb,var(--st-brand) 55%,transparent); outline-offset:1px; }
.buscador-check { display:flex; align-items:center; gap:8px; color:var(--st-muted); }
.buscador-check input { width:18px; height:18px; accent-color:var(--st-brand); }
.sin-resultados { padding:12px 0; color:var(--st-muted); }
