.nbn-podcast-section-title {
	margin: 0 0 20px;
}

/* ===== Carrusel ===== */

.nbn-podcast-carousel-wrapper {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px;
	width: 100%;
}

.nbn-podcast-carousel {
	--nbn-cards-visible: 3;
	--nbn-gap: 24px;
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: var(--nbn-gap);
	overflow-x: auto !important;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	padding: 4px 4px 12px;
	margin: 0 !important;
	list-style: none !important;
	flex: 1 1 0% !important;
	min-width: 0;
	scrollbar-width: none !important; /* Firefox */
	-ms-overflow-style: none !important; /* IE/Edge legacy */
}

.nbn-podcast-carousel::-webkit-scrollbar {
	display: none !important; /* Chrome, Safari, Edge Chromium */
	width: 0 !important;
	height: 0 !important;
}

.nbn-podcast-carousel-btn {
	flex: 0 0 auto !important;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid currentColor;
	background: transparent;
	color: #1a1a1a;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	display: flex !important;
	align-items: center;
	justify-content: center;
	transition: opacity 0.2s ease;
	padding: 0;
}

.nbn-podcast-carousel-btn:hover {
	opacity: 0.7;
}

.nbn-podcast-carousel-btn[disabled] {
	opacity: 0.3;
	cursor: default;
}

/* ===== Tarjeta ===== */

.nbn-podcast-card {
	scroll-snap-align: start;
	flex: 0 0 auto !important;
	width: calc((100% - (var(--nbn-gap, 24px) * (var(--nbn-cards-visible, 3) - 1))) / var(--nbn-cards-visible, 3)) !important;
	min-width: 0;
	max-width: 100%;
	display: flex !important;
	flex-direction: column !important;
	background: #ffffff;
	overflow: hidden;
	margin: 0 !important;
	list-style: none;
}

/* Wrapper de la imagen: alto por padding-top (más compatible entre temas que aspect-ratio) */
.nbn-podcast-card__image-wrap {
	position: relative !important;
	width: 100% !important;
	height: 0 !important;
	padding-top: 100% !important; /* 1:1 por defecto */
	overflow: hidden;
	background: #e5e5e5;
}

.nbn-podcast-card__image-wrap[data-ratio="4/3"] {
	padding-top: 75% !important;
}

.nbn-podcast-card__image-wrap[data-ratio="16/9"] {
	padding-top: 56.25% !important;
}

.nbn-podcast-card__image-wrap[data-ratio="3/4"] {
	padding-top: 133.33% !important;
}

.nbn-podcast-card__image {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	object-fit: cover !important;
	display: block !important;
	margin: 0 !important;
	filter: grayscale(100%);
	transition: filter 0.3s ease;
}

.nbn-podcast-card:hover .nbn-podcast-card__image {
	filter: grayscale(0%);
}

.nbn-podcast-card__title-bar {
	position: absolute !important;
	top: 0;
	left: 0;
	right: 0;
	padding: 16px 16px 28px;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, transparent 100%);
	z-index: 2;
}

.nbn-podcast-card__title-overlay {
	margin: 0 !important;
	font-size: 18px;
	line-height: 1.3;
	color: #ffffff;
}

.nbn-podcast-card__player {
	width: 100% !important;
	flex: 0 0 auto;
}

.nbn-podcast-card__player iframe {
	display: block !important;
	width: 100% !important;
	height: 80px;
	border: none;
	margin: 0 !important;
}

.nbn-podcast-card__body {
	padding: 12px 16px 16px;
}

.nbn-podcast-card__description {
	margin: 0 !important;
	font-size: 14px;
	line-height: 1.5;
}

.nbn-podcast-card__empty {
	margin: 0;
	padding: 12px 16px;
	font-size: 13px;
	color: #999;
	font-style: italic;
}

@media (max-width: 767px) {
	.nbn-podcast-carousel-btn {
		width: 32px;
		height: 32px;
		font-size: 16px;
	}
}

/* Red de seguridad en celulares: fuerza una sola tarjeta a ancho completo
   y un poco más de alto en el reproductor, sin importar el valor configurado
   en "Tarjetas visibles", para que nunca se vea cortada. */
@media (max-width: 480px) {
	.nbn-podcast-card {
		width: 100% !important;
	}

	.nbn-podcast-card__player iframe {
		height: 100px !important;
	}
}

/* ===== Contenedor externo + Dots ===== */

.nbn-podcast-carousel-outer {
	width: 100%;
}

.nbn-podcast-carousel-dots {
	display: flex !important;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
}

.nbn-podcast-dot {
	-webkit-appearance: none !important;
	appearance: none !important;
	box-sizing: border-box !important;
	width: 8px;
	height: 8px;
	aspect-ratio: 1 / 1;
	border-radius: 50% !important;
	background-color: #cccccc;
	border: none !important;
	outline: none !important;
	padding: 0 !important;
	margin: 0;
	line-height: 0;
	flex: 0 0 auto;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.nbn-podcast-dot.is-active {
	background-color: #1a1a1a;
	transform: scale(1.25);
}

/* ===== Reproductor en la entrada individual ===== */

.nbn-podcast-single-player {
	width: 100%;
	margin: 0 0 28px;
}

.nbn-podcast-single-player iframe {
	display: block !important;
	width: 100% !important;
	height: 152px;
	border: none;
	border-radius: 8px;
}
