/* Carrossel horizontal de artistas (auto-scroll + arrastar), usado na
   Início no lugar da antiga secção do Instagram. */

.ksp-marquee {
	position: relative;
	overflow: hidden;
	margin-top: clamp(20px, 3vw, 32px);
	cursor: grab;
	/* Full-bleed: sai do contentor do bloco e ocupa a largura toda do ecrã,
	   independentemente do wrapper (wide/constrained) em que o shortcode esteja.
	   !important porque os global styles do WP aplicam margin:auto + max-width
	   aos filhos de ".is-layout-constrained" com a mesma especificidade. */
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding: 0 clamp(16px, 4vw, 48px);
	box-sizing: border-box;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent);
}
.ksp-marquee.is-dragging {
	cursor: grabbing;
}
.ksp-marquee__track {
	display: flex;
	width: max-content;
	gap: clamp(28px, 4vw, 52px);
	will-change: transform;
}
/* Poucos itens (não enchem a largura) — não dá para fingir um loop
   infinito de forma convincente, por isso fica estático e centrado. */
.ksp-marquee--static {
	cursor: default;
	-webkit-mask-image: none;
	mask-image: none;
}
.ksp-marquee--static .ksp-marquee__track {
	width: 100%;
	justify-content: center;
	flex-wrap: wrap;
}
.ksp-marquee__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	width: 130px;
	flex: 0 0 auto;
	text-decoration: none;
	color: var(--ksp-text);
	user-select: none;
	-webkit-user-drag: none;
	border-radius: 18px;
	padding: 10px 6px;
	box-sizing: border-box;
	transition: background-color 0.2s ease;
}
/* Cartão azul suave ao premir/arrastar em cima de um artista, em vez do
   comportamento nativo (seleção/drag-ghost) do browser. */
.ksp-marquee__item:active {
	background-color: rgba(61, 155, 233, 0.16);
}
/* O foco do rato depois de soltar o arrasto mostrava um contorno preto por
   cima do cartão; mantém-se só para navegação por teclado. */
.ksp-marquee__item:focus {
	outline: none;
}
.ksp-marquee__item:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-1);
	outline-offset: 4px;
}
.ksp-marquee__avatar {
	position: relative;
	display: block;
	width: 120px;
	height: 120px;
	border-radius: 999px;
	overflow: hidden;
	background: var(--ksp-bg-elevated-2);
	border: 2px solid rgba(var(--ksp-fg-rgb), 0.12);
	transition: border-color 0.2s ease, transform 0.2s ease;
}
/* Etiqueta "Ex-Membro" sobre o avatar, em vez de uma secção à parte na
   lista de Membros do Grupo. */
.ksp-marquee__badge {
	position: absolute;
	left: 50%;
	bottom: 4px;
	transform: translateX(-50%);
	z-index: 1;
	background: var(--wp--preset--color--accent-4);
	color: #fff;
	font-size: 0.58rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	padding: 3px 9px;
	border-radius: 999px;
	white-space: nowrap;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}
.ksp-marquee__item:hover .ksp-marquee__avatar {
	border-color: var(--wp--preset--color--accent-1);
	transform: translateY(-3px);
}
.ksp-marquee__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	pointer-events: none;
}
.ksp-marquee__name {
	font-size: 0.8rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}
