/* Listado [bosquejos] — mismo lenguaje visual que Casas de Oración */
.bsq-wrap {
	--bsq-azul: #0B5CB8;
	--bsq-texto: #273240;
	--bsq-suave: #6B7685;
	--bsq-borde: #E2E8F0;
	--bsq-caja: #EEF5FC;
	font-family: "Roboto Condensed", Arial, sans-serif;
	color: var(--bsq-texto);
	max-width: 1100px;
	margin: 0 auto;
}
.bsq-wrap *, .bsq-wrap *::before, .bsq-wrap *::after { box-sizing: border-box; }
.bsq-wrap .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Barra: años + buscador */
.bsq-toolbar {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: 14px; margin: 0 0 28px;
}
.bsq-anios { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.bsq-chip {
	font-family: inherit; font-size: 14px; font-weight: 600; letter-spacing: .02em;
	line-height: 1.2; text-transform: uppercase; cursor: pointer;
	padding: 8px 14px; border-radius: 999px;
	background: #fff; color: var(--bsq-texto); border: 1px solid var(--bsq-borde);
	transition: background-color .15s, color .15s, border-color .15s;
}
.bsq-chip small { font-size: 11px; font-weight: 500; opacity: .65; margin-left: 2px; }
.bsq-chip:hover { border-color: var(--bsq-azul); color: var(--bsq-azul); }
.bsq-chip.is-active { background: var(--bsq-azul); border-color: var(--bsq-azul); color: #fff; }
.bsq-chip.is-active small { opacity: .8; }
.bsq-chip:focus-visible, .bsq-btn:focus-visible, .bsq-buscar input:focus-visible {
	outline: 2px solid var(--bsq-azul); outline-offset: 2px;
}
.bsq-anteriores {
	font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em;
	color: var(--bsq-suave); margin: 0 4px 0 14px;
}

.bsq-buscar { position: relative; flex: 0 1 280px; display: block; margin: 0; }
.bsq-buscar svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--bsq-suave); }
.bsq-buscar input[type="search"] {
	width: 100%; font-family: inherit; font-size: 15px; color: #475569;
	padding: 10px 14px 10px 38px; border-radius: 999px; border: 1px solid var(--bsq-borde);
	background: #fff; box-shadow: none; min-height: 0;
}

/* Grupos por mes */
.bsq-grupo { margin: 0 0 26px; }
.bsq-wrap .bsq-grupo-tit {
	font-family: inherit; font-size: 17px; font-weight: 700; letter-spacing: .04em;
	text-transform: uppercase; color: var(--bsq-azul);
	margin: 0 0 12px; padding: 0 0 6px; border-bottom: 2px solid var(--bsq-azul);
}

/* Tarjeta */
.bsq-card {
	display: flex; align-items: center; gap: 16px;
	background: #fff; border: 1px solid var(--bsq-borde); border-radius: 10px;
	padding: 14px 18px; margin: 0 0 10px;
}
.bsq-fecha-box {
	flex: 0 0 76px; display: flex; flex-direction: column; align-items: center; justify-content: center;
	background: var(--bsq-caja); border-radius: 8px; padding: 10px 4px; text-align: center;
}
.bsq-fecha-box .m { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--bsq-suave); }
.bsq-fecha-box .d { font-size: 22px; font-weight: 700; line-height: 1.15; color: var(--bsq-azul); }

.bsq-body { flex: 1 1 auto; min-width: 0; }
.bsq-wrap .bsq-titulo {
	font-family: inherit; font-size: 17px; font-weight: 700; line-height: 1.3;
	color: var(--bsq-texto); margin: 0 0 4px; text-transform: none;
}
.bsq-tag {
	display: inline-block; vertical-align: 2px; font-size: 12px; font-weight: 600; line-height: 1.3;
	padding: 3px 10px; border-radius: 999px; background: #E7F5EC; color: #1D7444; margin-left: 4px;
}
.bsq-linea { display: flex; align-items: center; gap: 6px; font-size: 14.5px; color: var(--bsq-texto); }
.bsq-linea svg { color: var(--bsq-azul); flex: 0 0 auto; opacity: .75; }

.bsq-btn {
	flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px;
	font-size: 14px; font-weight: 600; line-height: 1.2; text-decoration: none;
	color: var(--bsq-azul); border: 1px solid var(--bsq-azul); border-radius: 999px;
	padding: 8px 14px; background: #fff; transition: background-color .15s, color .15s;
}
.bsq-wrap a.bsq-btn:hover { background: var(--bsq-azul); color: #fff; }

.bsq-vacio { color: var(--bsq-suave); text-align: center; padding: 24px 0; }

/* Miniatura del video */
.bsq-thumb {
	position: relative; flex: 0 0 136px; display: block; aspect-ratio: 16 / 9;
	border-radius: 8px; overflow: hidden; background: var(--bsq-caja);
}
.bsq-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.bsq-thumb:hover img { transform: scale(1.04); }
.bsq-thumb:focus-visible { outline: 2px solid var(--bsq-azul); outline-offset: 2px; }

.bsq-wrap a.bsq-btn-pdf { margin-top: 10px; }

/* Celular */
@media (max-width: 640px) {
	.bsq-anteriores { flex-basis: 100%; margin: 6px 0 0; }
	.bsq-buscar { flex: 1 1 100%; }
	.bsq-card {
		display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 12px; padding: 12px;
		grid-template-areas: "thumb thumb" "fecha body";
	}
	.bsq-thumb { grid-area: thumb; width: 100%; max-width: 100%; }
	.bsq-fecha-box { grid-area: fecha; padding: 8px 4px; align-self: start; }
	.bsq-body { grid-area: body; align-self: center; }
}
