/* Palestra – Banner de Sello / Colección */
.pb-banner {
	--pb-inner-w: var(--Flex_77-90, 90%);
	--pb-pad: 56px;
	--pb-gap: 48px;
	--pb-ov-1: rgba(0, 0, 0, .72);
	--pb-ov-2: rgba(0, 0, 0, .38);
	--pb-ov-3: rgba(0, 0, 0, .62);
	--pb-ov-m: rgba(0, 0, 0, .6);
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 300px;
	padding: var(--pb-pad) 0;
	background-color: var(--Negro, #1b1b1b);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: #fff;
	overflow: hidden;
	isolation: isolate;
	box-sizing: border-box;
	font-family: var(--Roboto, Roboto), sans-serif;
}
.pb-banner--coleccion { min-height: 240px; }
.pb-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(90deg, var(--pb-ov-1) 0%, var(--pb-ov-2) 55%, var(--pb-ov-3) 100%);
}
.pb-banner--coleccion::before { background: linear-gradient(90deg, var(--pb-ov-1) 0%, var(--pb-ov-2) 60%, rgba(0, 0, 0, .15) 100%); }
.pb-banner *, .pb-banner *::before, .pb-banner *::after { box-sizing: border-box; }

/* Fuente manual (p. ej. Ebooks): imagen por variable, responsive */
.pb-banner--manual {
	--pb-ov-1: transparent;
	--pb-ov-2: transparent;
	--pb-ov-3: transparent;
	--pb-ov-m: rgba(247, 247, 247, .86);
	min-height: 280px;
	background-image: var(--pb-bg, none);
	background-color: var(--Gris-claro, #F7F7F7);
	color: var(--Negro, #1b1b1b);
}
.pb-banner--manual .pb-banner__title { color: var(--Negro, #1b1b1b); text-shadow: none; }
.pb-banner--manual .pb-banner__desc { font-style: italic; color: var(--Negro, #1b1b1b); max-width: 400px; }

.pb-banner__inner {
	width: var(--pb-inner-w);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--pb-gap);
}
.pb-banner__main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.pb-banner__logo { display: block; width: 300px; max-width: 100%; height: auto; }
.pb-banner__title {
	margin: 0;
	font-family: var(--Lora, Lora), serif;
	font-weight: 600;
	font-size: var(--H1, clamp(1.5rem, 1.0714rem + 2.143vw, 3rem));
	line-height: 1.15;
	color: #fff;
	text-shadow: 0 1px 12px rgba(0, 0, 0, .25);
}
.pb-banner__desc {
	margin: 10px 0 0;
	max-width: 440px;
	font-size: var(--Parrafo-16, 15px);
	line-height: 1.5;
	color: rgba(255, 255, 255, .85);
}
.pb-banner--coleccion .pb-banner__desc { font-style: italic; }

.pb-banner__aside {
	flex: 0 0 260px;
	max-width: 260px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.pb-banner__block p { margin: 0; }
.pb-banner__label { font-size: 14px; font-weight: 700; font-style: italic; color: #fff; line-height: 1.5; }
.pb-banner__ctitle { font-size: 14px; font-weight: 700; text-transform: uppercase; color: #fff; line-height: 1.5; }
.pb-banner__name { font-size: 14px; color: rgba(255, 255, 255, .8); line-height: 1.5; }

.pb-sr {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Tablet */
@media (max-width: 1024px) {
	.pb-banner { --pb-pad: 44px; --pb-gap: 32px; min-height: 260px; }
	.pb-banner--coleccion { min-height: 220px; }
	.pb-banner--manual { min-height: 220px; background-image: var(--pb-bg-tablet, var(--pb-bg, none)); }
	.pb-banner__logo { width: 250px; }
	.pb-banner__aside { flex-basis: 220px; max-width: 220px; }
}

/* Móvil: una columna, overlay uniforme */
@media (max-width: 767px) {
	.pb-banner { --pb-pad: 36px; --pb-gap: 22px; min-height: 0; align-items: flex-end; }
	.pb-banner--coleccion { min-height: 200px; }
	.pb-banner--manual { min-height: 200px; background-image: var(--pb-bg-mobile, var(--pb-bg-tablet, var(--pb-bg, none))); }
	.pb-banner::before, .pb-banner--coleccion::before { background: var(--pb-ov-m); }
	.pb-banner__inner { flex-direction: column; align-items: flex-start; }
	.pb-banner__logo { width: 210px; }
	.pb-banner__desc { max-width: 100%; }
	.pb-banner__aside {
		flex: none;
		max-width: 100%;
		width: 100%;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 14px 32px;
		padding-top: 16px;
		border-top: 1px solid rgba(255, 255, 255, .25);
	}
}
