/* qubo/logo-carousel */
.qubo-logos {
	--qubo-logos-gap: 2rem;
	position: relative;
	padding-inline: 2.5rem;
}
.qubo-logos__viewport {
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
}
.qubo-logos__viewport::-webkit-scrollbar { display: none; }
.qubo-logos__viewport:focus-visible { outline: 2px solid var(--wp--preset--color--primary, #005ca7); outline-offset: 4px; }
.qubo-logos__track {
	display: flex;
	gap: var(--qubo-logos-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}
.qubo-logos__item {
	flex: 0 0 calc((100% - (var(--qubo-logos-visible) - 1) * var(--qubo-logos-gap)) / var(--qubo-logos-visible));
	height: var(--qubo-logos-height);
	display: flex;
	align-items: center;
	justify-content: center;
	scroll-snap-align: start;
	margin: 0;
}
.qubo-logos__item a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.qubo-logos__img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: filter .3s ease, opacity .3s ease, transform .3s ease;
}
.qubo-logos__item:hover .qubo-logos__img { transform: scale(1.04); }
.qubo-logos.is-grayscale .qubo-logos__img { filter: grayscale(1); opacity: .75; }
.qubo-logos.is-grayscale .qubo-logos__item:hover .qubo-logos__img { filter: none; opacity: 1; }

.qubo-logos__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 2rem;
	height: 2rem;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--wp--preset--color--muted, #727272);
	font-size: 2rem;
	line-height: 1;
	cursor: pointer;
	opacity: 0;
	transition: opacity .3s ease, color .2s ease;
}
.qubo-logos__nav--prev { left: 0; }
.qubo-logos__nav--next { right: 0; }
.qubo-logos:hover .qubo-logos__nav,
.qubo-logos__nav:focus-visible { opacity: 1; }
.qubo-logos__nav:hover { color: var(--wp--preset--color--primary, #005ca7); }

/* Modo ticker: desplazamiento continuo (los clones los añade view.js) */
.qubo-logos.is-mode-ticker .qubo-logos__viewport { overflow: hidden; scroll-snap-type: none; }
.qubo-logos.is-mode-ticker.is-ready .qubo-logos__track {
	width: max-content;
	animation: qubo-logos-ticker var(--qubo-logos-duration, 30s) linear infinite;
}
.qubo-logos.is-mode-ticker .qubo-logos__item { flex: 0 0 calc(min(100vw, 1170px) / var(--qubo-logos-visible) - var(--qubo-logos-gap)); }
.qubo-logos.is-mode-ticker:hover .qubo-logos__track { animation-play-state: paused; }
@keyframes qubo-logos-ticker { to { transform: translateX(-50%); } }

@media (max-width: 900px) {
	.qubo-logos { --qubo-logos-visible: 3 !important; }
}
@media (max-width: 560px) {
	.qubo-logos { --qubo-logos-visible: 2 !important; padding-inline: 1.75rem; }
	.qubo-logos__nav { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
	.qubo-logos__viewport { scroll-behavior: auto; }
	.qubo-logos.is-mode-ticker .qubo-logos__track { animation: none !important; }
	.qubo-logos.is-mode-ticker .qubo-logos__viewport { overflow-x: auto; }
}
.qubo-logos__empty { padding: 1rem; border: 1px dashed currentColor; text-align: center; }
