/* ═══════════════════════════════════════
   JURY – archiwum (grid kart). Modal biogramu → komponent współdzielony (assets/css/modal.css).
   Ładowane warunkowo: tylko na archiwum jury (inc/enqueue.php).
   Tokeny z theme.json (BEM). Lokalny --jury-ease = krzywa „reveal" z prototypu.
   ═══════════════════════════════════════ */

.jury-grid,
.jury-archive__header {
	--jury-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* ── Nagłówek archiwum ── */
.jury-archive__header {
	max-width: 48rem;
	margin-bottom: var(--wp--preset--spacing--md);
}
/* Styling + złota kreska z komponentu .eyebrow (components.css); tu tylko odstęp. */
.jury-archive__kicker {
	margin: 0 0 0.75rem;
}
.jury-archive__title {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800;
	color: var(--wp--preset--color--heading);
	margin: 0 0 0.75rem;
}
.jury-archive__lead {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.7;
	color: var(--wp--preset--color--muted);
	margin: 0;
}
.jury-archive__empty {
	color: var(--wp--preset--color--muted);
}

/* ── Grid kart – JEDEN elastyczny system 0 → X osób (bez łatania konkretnych liczb) ──
   • Telefon/tablet (<64rem): auto-fill + minmax – kolumny same dobierają się do szerokości,
     wiersze równe, na wąskim ekranie 1 kolumna (`min(100%, 13rem)`). Mała liczba kolumn =
     ewentualna niepełna końcówka jest naturalnie dopchnięta do lewej i nie razi.
   • Desktop (≥64rem): DOKŁADNIE tyle kolumn, ile policzył PHP (--jury-cols z
     integracjatyija_grid_cols()) – zbalansowane wiersze, BEZ samotnej sieroty, wyśrodkowane.
     `minmax(0, 17rem)` = karty mogą się zwęzić (5 kol. na 1024px), nie urosną ponad 17rem.
   Spójny z .galeria-grid / .laury / .edycja-galeria__grid. ── */
.jury-grid {
	--jury-cols: 5; /* fallback gdy brak modyfikatora --cols-N */
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr));
	gap: 2.5rem 1.75rem;
}
.jury-grid__item {
	min-width: 0;
	margin: 0;
}

.jury-grid--cols-1 { --jury-cols: 1; }
.jury-grid--cols-2 { --jury-cols: 2; }
.jury-grid--cols-3 { --jury-cols: 3; }
.jury-grid--cols-4 { --jury-cols: 4; }
.jury-grid--cols-5 { --jury-cols: 5; }

@media (min-width: 64rem) {
	.jury-grid {
		grid-template-columns: repeat(var(--jury-cols), minmax(0, 17rem));
		justify-content: center;
	}
}

/* ── Karta ── */
.jury-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	text-align: left;
	margin: 0;
}

/* button-reset dla wariantu klikalnego */
button.jury-card {
	appearance: none;
	border: 0;
	background: transparent;
	padding: 0;
	font: inherit;
	color: inherit;
	cursor: pointer;
}

.jury-card__photo {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--surface);
}
.jury-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s var(--jury-ease);
}

.jury-card__caption {
	display: flex;
	flex-direction: column;
}
.jury-card__name {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.25;
	color: var(--wp--preset--color--primary);
	margin-top: 0.85rem;
}
.jury-card__role {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.8125rem;
	line-height: 1.3;
	color: var(--wp--preset--color--muted);
	margin-top: 0.2rem;
}

/* ── Wariant klikalny (ma biogram) ── */
.jury-card--bio:hover .jury-card__photo img,
.jury-card--bio:focus-visible .jury-card__photo img {
	transform: scale(1.05);
}
.jury-card--bio:hover .jury-card__name,
.jury-card--bio:focus-visible .jury-card__name {
	color: var(--wp--preset--color--accent);
}

/* Badge „Biogram" – wskaźnik klikalności, pojawia się na hover/focus */
.jury-card__badge {
	position: absolute;
	left: 0.6rem;
	bottom: 0.6rem;
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.3rem 0.6rem;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--primary-hover);
	font-family: var(--wp--preset--font-family--body);
	font-weight: 600;
	font-size: 0.72rem;
	line-height: 1;
	opacity: 0;
	transform: translateY(6px);
	transition: opacity 0.25s var(--jury-ease), transform 0.25s var(--jury-ease);
}
.jury-card--bio:hover .jury-card__badge,
.jury-card--bio:focus-visible .jury-card__badge {
	opacity: 1;
	transform: translateY(0);
}
.jury-card__badge svg {
	width: 0.85rem;
	height: 0.85rem;
}

/* fokus widoczny na całej karcie (button) – outline na zdjęciu */
button.jury-card:focus-visible {
	outline: none;
}
button.jury-card:focus-visible .jury-card__photo {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.jury-card__photo img,
	.jury-card__badge {
		transition: none;
	}
}
