/* ---------------------------------------------------------------------------
 * Components propis que substitueixen plugins de tercers (neteja de plugins,
 * 2026-11): logos de socis, formulari de contacte d'aliances i icones.
 * El codi viu a mu-plugins/gimur-site/modules/ (logos.php, contact-form.php).
 * ------------------------------------------------------------------------- */

/* --- Logos de socis i col·laboradors (.gx-logos) -------------------------
 * Partners: graella centrada de 8 per fila (6 a ≤1023 px, 4 a ≤781 px).
 * Cada logo en una caixa 4:3, en escala de grisos; amb el color en passar-hi
 * el ratolí. Portada (.gx-home-partners): una sola tira que es mou lentament,
 * s'atura amb el ratolí o el focus i queda fixa amb prefers-reduced-motion. */
.gx-logos {
	margin-block: 0.5rem 0;
}
.gx-logos .gx-logos__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	row-gap: var(--gx-gap);
	max-width: none;
	margin: 0 -5px;
	padding: 0;
	list-style: none;
}
.gx-logos .gx-logos__item {
	width: 12.5%;
	margin: 0;
	padding: 2px;
}
.gx-logos__tile {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 3;
	padding: 4px;
	overflow: hidden;
	border-radius: 4px;
}
.gx-logos__img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	max-height: none;
	margin: 0 auto;
	filter: grayscale(1);
	opacity: 0.85;
}
.gx-logos__tile:hover .gx-logos__img {
	filter: none;
	opacity: 1;
}
@media (prefers-reduced-motion: no-preference) {
	.gx-logos__img {
		transition: filter 0.2s ease, opacity 0.2s ease;
	}
}
@media (max-width: 1023px) {
	.gx-logos .gx-logos__item {
		width: 16.666%;
	}
}
@media (max-width: 781px) {
	.gx-logos .gx-logos__item {
		width: 25%;
	}
}

/* Portada: tira única en moviment lent */
.gx-home-partners .gx-logos {
	margin-top: 0.5rem;
	margin-bottom: 0;
}
.gx-home-partners .gx-logos__inner {
	overflow: hidden;
	container-type: inline-size;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.gx-home-partners .gx-logos .gx-logos__list {
	flex-wrap: nowrap;
	justify-content: center;
	width: max-content;
	margin: 0;
	animation: gx-marquee 80s linear infinite alternate;
}
.gx-home-partners .gx-logos__inner:hover .gx-logos__list,
.gx-home-partners .gx-logos__inner:focus-within .gx-logos__list {
	animation-play-state: paused;
}
.gx-home-partners .gx-logos .gx-logos__item {
	flex: 0 0 auto;
	width: clamp(84px, 9vw, 112px);
	padding: 0 4px;
}
@keyframes gx-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(calc(-100% + 100cqw)); }
}
@media (prefers-reduced-motion: reduce) {
	.gx-home-partners .gx-logos__inner {
		overflow-x: auto;
		-webkit-mask-image: none;
		mask-image: none;
	}
	.gx-home-partners .gx-logos .gx-logos__list {
		animation: none;
	}
}

/* --- Formulari de contacte d'aliances (.gx-contact) ---------------------- */
.gx-contact-block {
	scroll-margin-top: var(--gx-anchor-offset, 6rem);
}
/* Query Loop de les entrades de la categoria "socis" (era el bloc post-grid de
 * Spectra, que deixava ~10 px d'aire encara que estiga buit). */
/* padding (no margin): un bloc buit amb marge col·lapsaria amb el del títol següent */
.gx-partner-posts {
	padding-bottom: 0.5rem;
}
.gx-contact .gx-contact__row {
	margin: 0;
	padding-block: 0.35rem 0.8rem;
}
.gx-contact label {
	display: block;
	margin-bottom: 0.375rem;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gx-muted, #5a6070);
}
.gx-contact__req {
	margin-left: 2px;
	color: var(--gx-accent-ink);
}
.gx-contact :is(input[type="text"], input[type="email"], textarea) {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
}
.gx-contact input:not([type="hidden"]) {
	min-height: 49px;
}
.gx-contact textarea {
	height: 120px;
	min-height: 120px;
	max-height: 200px;
	resize: vertical;
}
.gx-contact__help {
	display: block;
	margin-top: 0.5rem;
	font-size: 0.875rem;
	color: var(--gx-muted, #5a6070);
}
.gx-contact .gx-contact__actions {
	margin: 0.4rem 0 0.375rem;
}
/* Camp trampa: fora de pantalla, no display:none (alguns bots el salten). */
.gx-contact__trap {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* --- Icones en línia (antic bloc outermost/icon-block) --------------------
 * Bloc nadiu HTML amb un <div class="gx-icon"> i el SVG dins, amb la mida que
 * porta el propi SVG (igual que abans). Cap regla: només s'ancora la classe,
 * que about.css amaga a la cita del director. */
