/* Listas de descarga del Storage Share, para el atajo [storage-share] */

.pxtv-descargas {
	list-style: none;
	margin: 0 0 1.5em;
	padding: 0;
	border: 1px solid rgba(128, 128, 128, .25);
	border-radius: 4px;
	overflow: hidden;
}

.pxtv-fila {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 14px;
	margin: 0;
	border-bottom: 1px solid rgba(128, 128, 128, .18);
}

.pxtv-fila:last-child { border-bottom: 0; }
.pxtv-fila:nth-child(odd) { background: rgba(128, 128, 128, .05); }

.pxtv-archivo {
	flex: 1;
	min-width: 0;
	word-break: break-word;
	font-size: .95em;
	line-height: 1.4;
}

.pxtv-peso {
	flex: none;
	font-size: .82em;
	opacity: .7;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.pxtv-boton {
	flex: none;
	display: inline-block;
	background: #c0242b;
	color: #fff !important;
	text-decoration: none !important;
	padding: 7px 16px;
	border-radius: 3px;
	font-size: .82em;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	white-space: nowrap;
	line-height: 1.3;
}

.pxtv-boton:hover,
.pxtv-boton:focus { background: #9d1c22; color: #fff !important; }
.pxtv-boton:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

.pxtv-cerrado,
.pxtv-vacio,
.pxtv-fallo {
	border: 1px solid rgba(128, 128, 128, .25);
	border-radius: 4px;
	padding: 18px 20px;
	margin: 0 0 1.5em;
}

.pxtv-cerrado p { margin: 0 0 12px; }
.pxtv-cerrado p:last-child { margin: 0; }

.pxtv-fallo {
	border-color: #c0242b;
	background: rgba(192, 36, 43, .07);
	font-size: .9em;
}

.pxtv-suelto { margin: 0 0 1.2em; }

@media (max-width: 600px) {
	.pxtv-fila { flex-wrap: wrap; }
	.pxtv-archivo { flex-basis: 100%; }
}

/* Desplegables por semana */

.pxtv-semanas { margin: 0 0 1.5em; }

.pxtv-semana {
	border: 1px solid rgba(128, 128, 128, .25);
	border-radius: 4px;
	margin-bottom: 8px;
	overflow: hidden;
}

.pxtv-semana > summary {
	cursor: pointer;
	padding: 11px 14px;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	background: rgba(128, 128, 128, .07);
	list-style: none;
	font-weight: 600;
}

.pxtv-semana > summary::-webkit-details-marker { display: none; }

.pxtv-semana > summary::before {
	content: "▸";
	flex: none;
	opacity: .6;
	transition: transform .15s ease;
}

.pxtv-semana[open] > summary::before { transform: rotate(90deg); }
.pxtv-semana > summary:hover { background: rgba(128, 128, 128, .13); }
.pxtv-semana > summary:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }

.pxtv-sem-titulo { flex: 1; min-width: 0; }

.pxtv-sem-marca {
	flex: none;
	background: #c0242b;
	color: #fff;
	font-size: .72em;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	padding: 3px 9px;
	border-radius: 20px;
}

.pxtv-sem-cuenta {
	flex: none;
	font-size: .8em;
	font-weight: 400;
	opacity: .65;
	font-variant-numeric: tabular-nums;
}

.pxtv-semana .pxtv-descargas {
	margin: 0;
	border: 0;
	border-radius: 0;
	border-top: 1px solid rgba(128, 128, 128, .2);
}

/* ============================================================
   Bloque de programa: foto y texto arriba, descargas debajo
   ============================================================ */

/*
 * Los programas se distinguen por una banda de fondo alterna, como el rayado
 * de una tabla. Nada de un color por programa: los botones de descarga van
 * todos del mismo rojo y el texto conserva su tamaño, para que la lista se lea
 * igual de bien en todos los bloques.
 */

.pxtv-prog {
	margin: 0;
	padding: 3rem 1.6rem;
	border-radius: 8px;
}

.pxtv-prog:nth-of-type(even) { background: rgba(20, 22, 26, .045); }

.pxtv-prog-cab {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 2rem;
	align-items: center;
	margin-bottom: 1.8rem;
}

.pxtv-prog-foto { margin: 0; }

.pxtv-prog-foto img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 8px;
}

.pxtv-prog-texto { min-width: 0; }

.pxtv-prog-ante {
	margin: 0 0 .45rem;
	font-size: .78em;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	opacity: .55;
}

.pxtv-prog-titulo {
	margin: 0 0 .6rem;
	font-size: clamp(1.5rem, 3.2vw, 2.1rem);
	line-height: 1.15;
	letter-spacing: -.015em;
	text-wrap: balance;
}

.pxtv-prog-desc { line-height: 1.6; opacity: .85; }
.pxtv-prog-desc p { margin: 0 0 .7rem; }
.pxtv-prog-desc p:last-child { margin: 0; }

/* La lista conserva su aspecto de siempre; solo se le quita el marco
   exterior, porque el bloque del programa ya hace de contenedor. */
.pxtv-prog-descargas .pxtv-descargas {
	border-left: 0;
	border-right: 0;
	border-radius: 0;
	margin: 0;
}

.pxtv-prog-descargas .pxtv-semanas { margin: 0; }

@media (max-width: 820px) {
	.pxtv-prog { padding: 2.2rem 1rem; }
	.pxtv-prog-cab { grid-template-columns: 1fr; gap: 1.2rem; }
}

@media (prefers-color-scheme: dark) {
	.pxtv-prog:nth-of-type(even) { background: rgba(236, 237, 240, .05); }
}
