/**
 * Overrides de layout responsive - Plugin Novedades
 *
 * Alta especificidad sobre contenedores reales del shortcode/archivo
 * para ganar sobre el tema y el CSS base del plugin.
 * Este archivo se encola SIEMPRE al final de los estilos del plugin.
 *
 * @package NovedadesPlugin
 * @since 1.2.1
 */

/* --- Contenedores: ancho fluido sin desbordes --- */
.novedades-container,
.novedades-archive-container {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box;
}

.novedades-container .novedades-carousel-container,
.novedades-archive-container .novedades-carousel-container {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow: hidden;
}

.novedades-container .novedades-carousel-track,
.novedades-archive-container .novedades-carousel-track {
	width: 100%;
	min-width: 0;
}

/* --- Cards: ancho completo y texto legible --- */
.novedades-container .novedad-card,
.novedades-archive-container .novedad-card,
.novedades-container .novedad-carousel-item,
.novedades-archive-container .novedad-carousel-item {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.novedades-container .novedad-card-inner,
.novedades-archive-container .novedad-card-inner {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.novedades-container .novedad-card-title,
.novedades-archive-container .novedad-card-title,
.novedades-container .novedad-card-subtitle,
.novedades-archive-container .novedad-card-subtitle,
.novedades-container .novedad-card-excerpt,
.novedades-archive-container .novedad-card-excerpt,
.novedades-container .novedad-card-content,
.novedades-archive-container .novedad-card-content {
	overflow-wrap: normal !important;
	word-break: normal !important;
	white-space: normal !important;
	hyphens: manual;
	min-width: 0;
}

/* --- Imágenes con proporción --- */
.novedades-container .novedad-card-image,
.novedades-archive-container .novedad-card-image {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
}

.novedades-container .novedad-card-image img,
.novedades-archive-container .novedad-card-image img {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: 100%;
	object-fit: cover;
}

/* --- Botón Ver más alineado al pie de la card --- */
.novedades-container .novedad-card-content,
.novedades-archive-container .novedad-card-content {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

.novedades-container .novedad-card-link,
.novedades-archive-container .novedad-card-link {
	align-self: flex-start;
	margin-top: auto;
	width: auto;
	max-width: 100%;
	box-sizing: border-box;
}

/* --- Botón Ver más: color de marca (#582D83) --- */
.novedades-container .novedad-card-link,
.novedades-archive-container .novedad-card-link,
.novedades-modal .novedades-modal-button {
	background-color: #582D83 !important;
	border: 1px solid #582D83;
	border-color: #582D83;
	color: #ffffff !important;
	transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.novedades-container .novedad-card-inner:hover .novedad-card-link,
.novedades-archive-container .novedad-card-inner:hover .novedad-card-link,
.novedades-container .novedad-card-link:hover,
.novedades-archive-container .novedad-card-link:hover,
.novedades-modal .novedades-modal-button:hover {
	background-color: #4B256F !important;
	border-color: #4B256F;
	color: #ffffff !important;
}

.novedades-container .novedad-card-link:focus-visible,
.novedades-archive-container .novedad-card-link:focus-visible,
.novedades-modal .novedades-modal-button:focus-visible {
	outline: 2px solid #582D83;
	outline-offset: 2px;
}

.novedades-container .novedad-card-link:focus:not(:focus-visible),
.novedades-archive-container .novedad-card-link:focus:not(:focus-visible),
.novedades-modal .novedades-modal-button:focus:not(:focus-visible) {
	outline: none;
}

/* --- Desktop (> 1024px): mantener 3 columnas --- */
@media (min-width: 1025px) {
	.novedades-container:not(.novedades-no-carousel) .novedad-carousel-item,
	.novedades-archive-container:not(.novedades-no-carousel) .novedad-carousel-item {
		flex: 0 0 calc(33.333% - 1.33rem) !important;
		width: auto;
		max-width: none;
	}

	.novedades-container.novedades-no-carousel .novedades-carousel-track,
	.novedades-archive-container.novedades-no-carousel .novedades-carousel-track {
		display: grid !important;
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 2rem !important;
	}

	.novedades-container.novedades-no-carousel .novedad-carousel-item,
	.novedades-archive-container.novedades-no-carousel .novedad-carousel-item {
		flex: none !important;
		width: 100%;
	}
}

/* --- Tablet (769px–1024px): 2 columnas --- */
@media (min-width: 769px) and (max-width: 1024px) {
	.novedades-container:not(.novedades-no-carousel) .novedades-carousel-track,
	.novedades-archive-container:not(.novedades-no-carousel) .novedades-carousel-track {
		display: flex !important;
		flex-wrap: nowrap !important;
	}

	.novedades-container:not(.novedades-no-carousel) .novedad-carousel-item,
	.novedades-archive-container:not(.novedades-no-carousel) .novedad-carousel-item {
		flex: 0 0 calc(50% - 1rem) !important;
		width: auto;
		max-width: none;
		min-width: 0 !important;
	}

	.novedades-container.novedades-no-carousel .novedades-carousel-track,
	.novedades-archive-container.novedades-no-carousel .novedades-carousel-track {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 2rem !important;
		transform: none !important;
	}

	.novedades-container.novedades-no-carousel .novedad-carousel-item,
	.novedades-archive-container.novedades-no-carousel .novedad-carousel-item {
		flex: none !important;
		width: 100%;
		max-width: 100%;
	}
}

/* --- Mobile (≤ 768px): 1 columna, ancho completo --- */
@media (max-width: 768px) {
	.novedades-container.novedades-carousel-wrapper,
	.novedades-archive-container.novedades-carousel-wrapper {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.novedades-container .novedades-carousel-prev,
	.novedades-container .novedades-carousel-next,
	.novedades-archive-container .novedades-carousel-prev,
	.novedades-archive-container .novedades-carousel-next {
		display: none !important;
	}

	.novedades-container .novedades-carousel-container,
	.novedades-archive-container .novedades-carousel-container {
		overflow: visible !important;
	}

	.novedades-container .novedades-carousel-track,
	.novedades-archive-container .novedades-carousel-track {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1.5rem !important;
		transform: none !important;
		flex-wrap: unset !important;
	}

	.novedades-container .novedad-carousel-item,
	.novedades-archive-container .novedad-carousel-item {
		flex: none !important;
		flex-basis: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.novedades-container .novedad-card-image,
	.novedades-archive-container .novedad-card-image {
		height: auto;
		aspect-ratio: 16 / 9;
	}

	.novedades-container .novedad-card-image img,
	.novedades-archive-container .novedad-card-image img {
		height: 100%;
	}

	.novedades-container .novedad-card-link,
	.novedades-archive-container .novedad-card-link {
		align-self: flex-start;
	}
}
