/* ---------------------------------------------------------------- el visor
   Modal flotante y centrado. `<dialog>` nativo: el centrado, el foco atrapado
   y el cierre con Escape los hace el navegador, no una librería.

   El acento es `#44c8f5`, que es el celeste medido en el CSS del sitio
   original -- 9 apariciones, el color de marca. */
.tsonami-visor {
	border: 0; padding: 0; background: transparent;
	width: min(1000px, 92vw);
	max-width: 92vw; max-height: 92vh;
	/* `<dialog>` se centra solo con márgenes automáticos en los cuatro lados. */
	margin: auto;
	overflow: visible;
}
.tsonami-visor::backdrop {
	background: rgba(12, 12, 14, .88);
	backdrop-filter: blur(6px);
	animation: tsonami-fundido .18s ease-out;
}
.tsonami-visor[open] { animation: tsonami-entrar .22s cubic-bezier(.2, .8, .3, 1); }

@keyframes tsonami-fundido { from { opacity: 0; } to { opacity: 1; } }
@keyframes tsonami-entrar {
	from { opacity: 0; transform: translateY(14px) scale(.985); }
	to   { opacity: 1; transform: none; }
}
/* Quien pidió menos movimiento no lo recibe. */
@media (prefers-reduced-motion: reduce) {
	.tsonami-visor[open], .tsonami-visor::backdrop { animation: none; }
}

.tsonami-marco {
	position: relative; padding-top: 56.25%; background: #000;
	border-radius: 10px; overflow: hidden;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .55);
}
.tsonami-marco iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.tsonami-titulo {
	margin: 0 0 .7rem; color: #fff; font-size: 1rem; font-weight: 400;
	letter-spacing: .04em; text-transform: uppercase;
	padding-right: 3rem;               /* deja lugar al botón de cerrar */
}

.tsonami-cerrar {
	position: absolute; top: -.35rem; right: 0; z-index: 2;
	width: 2.2rem; height: 2.2rem; padding: 0;
	display: flex; align-items: center; justify-content: center;
	background: rgba(255, 255, 255, .1); border: 0; border-radius: 50%;
	color: #fff; font-size: 1.4rem; line-height: 1; cursor: pointer;
	transition: background .15s ease, transform .15s ease;
}
.tsonami-cerrar:hover { background: #44c8f5; transform: scale(1.08); }
.tsonami-cerrar:focus-visible { outline: 2px solid #44c8f5; outline-offset: 3px; }

/* En pantalla angosta el visor ocupa casi todo y el título va debajo. */
@media (max-width: 640px) {
	.tsonami-visor { width: 96vw; }
	.tsonami-titulo { font-size: .85rem; padding-right: 2.6rem; }
}
audio.reproductor { width: 100%; margin-top: .5rem; }
.aviso-sin-url { font-size: .8em; color: #939598; }
/* Las capas se revelan también al tabular, no sólo con el ratón. */
a:focus-visible .info-item, a:focus-visible .artist-info,
a:focus-visible .sound-info, a:focus-visible .video-info { display: block; }

/* Una ficha sin miniatura no puede depender del hover: no hay sobre qué
   pasar el cursor. Se muestra su título, con el mismo aspecto que la capa. */
.video-info.sin-imagen, .sound-info.sin-imagen, .info-item.sin-imagen {
	display: block; position: static; background: #f4f4f4; padding: .8em;
	min-height: 4em; color: #494949; }
.video-info.sin-imagen strong, .sound-info.sin-imagen strong { display: block; }

/* ------------------------------------------------------ el visor de documentos
 *
 * Un PDF del propio servidor se abre en el visor NATIVO del navegador dentro
 * del `<dialog>`: cero paquetes. El marco necesita alto propio --un `<iframe>`
 * sin alto colapsa a 150 px-- y el documento pide DOS afordancias, no una:
 * verlo y quedárselo.
 *
 * Sin JavaScript el mismo enlace baja el archivo, que además cubre iOS Safari,
 * donde un PDF dentro de un `<iframe>` no se dibuja.
 */
.tsonami-visor .tsonami-marco iframe { width: 100%; border: 0; }
.tsonami-visor .tsonami-marco iframe[title] { min-height: min(80vh, 900px); }

.tsonami-bajar {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin-top: .6rem;
	padding: 0 1.2em;
	background: #44c8f5;
	/* `#494949` sobre `#44c8f5` da 4,64:1; blanco daría 1,94:1. */
	color: #494949;
	font-weight: 700;
	text-decoration: none;
}

.tsonami-bajar:hover,
.tsonami-bajar:focus-visible { background: #fff; }
