/* ============================================================================
   🧭 BAQUEANO — ARCHIVO SONORO COMPLETO + FICHAS DE MÚSICA (js/musica-archivo.js)
   🎯 POR QUÉ: las 93 grabaciones a todo el ancho, en filas y columnas, y fichas que se leen
      sin salir de musica.html (pedidos del propietario, 2026-10-07).
   ⚙️ CÓMO: grilla auto-fill (columnas según el ancho); <dialog> nativo para las fichas.
   📦 QUÉ: .musica-archive-grid--full, .track-meta, .instrument-card-more, .bq-music-info*.
   ============================================================================ */
.musica-carousel-arrows[hidden] { display: none !important; }

/* Archivo: la sección usa casi todo el ancho de la pantalla. */
#archivoSonoro > .exact-container { max-width: min(1680px, 100%); padding-left: clamp(16px, 3vw, 40px); padding-right: clamp(16px, 3vw, 40px); }
html body .musica-archive-grid.musica-archive-grid--full { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 12px; }
.musica-archive-grid--full .track-card-exact { min-width: 0; }
.musica-archive-grid--full .track-title { font-size: 0.8rem; margin: 0 0 2px; }
.musica-archive-grid--full .track-meta { margin: 3px 0 0; font-size: 0.66rem; color: #475569; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.musica-archive-grid--full .track-meta .fa-circle-check { color: #15803D; }
.musica-archive-grid--full .track-meta .fa-clock { color: #B45309; }
.musica-archive-grid--full .track-play-btn { width: 40px; height: 40px; }
.musica-archive-grid--full .track-play-btn:focus-visible { outline: 3px solid #F65E01; outline-offset: 2px; }

/* Tarjetas que abren ficha */
[data-music-topic][role="button"] { cursor: pointer; position: relative; }
[data-music-topic]:focus-visible { outline: 3px solid #F65E01; outline-offset: 3px; }
.instrument-card-more { position: absolute; top: 8px; right: 8px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%;
  background: rgba(255, 255, 255, 0.95); color: #0E5566; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.18); }

/* Ficha */
.bq-music-info { width: min(640px, calc(100vw - 32px)); max-height: min(86vh, 760px); padding: 0; border: 0; border-radius: 20px; color: #0F172A; background: #FFFFFF;
  box-shadow: 0 30px 80px rgba(2, 8, 23, 0.45); overflow: auto; }
.bq-music-info::backdrop { background: rgba(11, 37, 58, 0.62); }
.bq-music-info-head { position: sticky; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px 12px; background: #FFFFFF; border-bottom: 1px solid #E2E8F0; }
.bq-music-info-title { margin: 0; font: 900 1.25rem/1.2 Montserrat, sans-serif; }
.bq-music-info-close { flex: 0 0 auto; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #F1F5F9; color: #0F172A; cursor: pointer; font-size: 1.1rem; }
.bq-music-info-body { padding: 16px 20px 4px; }
.bq-music-info-text { margin: 0 0 12px; font-size: 0.98rem; line-height: 1.6; }
.bq-music-info-note { padding: 10px 12px; border-radius: 12px; background: #FEF3C7; color: #78350F; font-size: 0.86rem; }
.bq-music-info-source { margin: 0 0 14px; font-size: 0.8rem; color: #475569; }
.bq-music-info-source a { color: #0E5566; font-weight: 700; }
.bq-music-info-sub { margin: 6px 0 8px; font: 800 0.92rem/1.3 Montserrat, sans-serif; }
.bq-music-info-tracks { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: 8px; }
.bq-music-info-track { width: 100%; min-height: 44px; display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; padding: 8px 12px; text-align: left;
  border: 1px solid #E2E8F0; border-radius: 12px; background: #F8FAFC; color: #0F172A; cursor: pointer; font: 700 0.84rem/1.3 'Plus Jakarta Sans', sans-serif; }
.bq-music-info-track i { grid-row: span 2; color: #F65E01; }
.bq-music-info-track small { grid-column: 2; font-weight: 500; color: #475569; }
.bq-music-info-track:hover { border-color: #F65E01; background: #FFF7ED; }
.bq-music-info-map { min-height: 44px; margin: 0 0 12px; padding: 0 16px; border: 2px solid #165D6F; border-radius: 999px; background: #FFFFFF; color: #0E5566; font: 800 0.85rem/1 Montserrat, sans-serif; cursor: pointer; }
.bq-music-info-actions { position: sticky; bottom: 0; display: flex; justify-content: flex-end; padding: 12px 20px 16px; background: #FFFFFF; border-top: 1px solid #E2E8F0; }
.bq-music-info-listen { min-height: 44px; padding: 0 18px; border: 0; border-radius: 999px; background: #C2410C; color: #FFFFFF; font: 800 0.9rem/1 Montserrat, sans-serif; cursor: pointer; }
.bq-music-info-listen[aria-pressed="true"] { background: #0B253A; }
.bq-music-info button:focus-visible, .bq-music-info a:focus-visible { outline: 3px solid #F65E01; outline-offset: 2px; }
