/* DYM Destacados – front
   Personaliza con variables desde tu tema, ej.:
   .dym-dest { --dym-gap: 20px; --dym-radio: 0; --dym-fondo: #f7f7f7; }
*/
.dym-dest {
	--dym-gap: 16px;
	--dym-radio: 8px;
	--dym-fondo: #fff;
	--dym-borde: #e6e6e6;
	--dym-acento: currentColor;
	width: 100%;
}
.dym-dest__fila + .dym-dest__fila {
	margin-top: 40px;
}
.dym-dest__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}
.dym-dest__titulo {
	margin: 0 0 14px;
}
.dym-dest__head .dym-dest__titulo {
	margin: 0;
}
.dym-dest__ver {
	font-size: .9em;
	white-space: nowrap;
	text-decoration: none;
	color: var(--dym-acento);
}
.dym-dest__ver:hover {
	text-decoration: underline;
}
.dym-dest__lista {
	display: grid;
	grid-template-columns: repeat(var(--dym-cols, 6), minmax(0, 1fr));
	gap: var(--dym-gap);
	list-style: none;
	margin: 0;
	padding: 0;
}
.dym-dest__item {
	margin: 0;
	padding: 0;
}
.dym-dest__enlace {
	display: block;
	aspect-ratio: 1 / 1;
	background: var(--dym-fondo);
	border: 1px solid var(--dym-borde);
	border-radius: var(--dym-radio);
	overflow: hidden;
	transition: box-shadow .2s ease, transform .2s ease;
}
.dym-dest__enlace img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	transition: transform .3s ease;
}
a.dym-dest__enlace:hover,
a.dym-dest__enlace:focus-visible {
	box-shadow: 0 6px 20px rgba(0, 0, 0, .10);
	transform: translateY(-2px);
}
a.dym-dest__enlace:hover img {
	transform: scale(1.04);
}
a.dym-dest__enlace:focus-visible {
	outline: 2px solid #2271b1;
	outline-offset: 2px;
}

/* Tablet */
@media (max-width: 1024px) {
	.dym-dest__lista {
		grid-template-columns: repeat(var(--dym-cols-tablet, 4), minmax(0, 1fr));
	}
}

/* Móvil: carrusel deslizable */
@media (max-width: 640px) {
	.dym-dest {
		--dym-gap: 12px;
	}
	.dym-dest__lista {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 4px;
	}
	.dym-dest__lista::-webkit-scrollbar {
		display: none;
	}
	.dym-dest__item {
		flex: 0 0 42%;
		scroll-snap-align: start;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dym-dest__enlace,
	.dym-dest__enlace img {
		transition: none;
	}
	a.dym-dest__enlace:hover,
	a.dym-dest__enlace:hover img {
		transform: none;
	}
}
