/*
 * Mazuria Rave — partnerzy i sponsorzy: siatka logotypów (6 / 3 / 2 w rzędzie), duże karty wyróżnionych, hero strony „Współpracujemy”.
 * Ładowany na stronie głównej, stronie partnerów i wydarzeniu z partnerami. Mobile first: punkty 600 / 900 / 1024 / 1280 / 1536.
 */

/* 1. Siatka logotypów: telefon 2, tablet (≥600) 3, desktop (≥1024) 6 w rzędzie; niepełny rząd od lewej (jak nagłówek) ---------------- */
.mr-plogos {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mr-plogos__item {
	flex: 0 0 calc((100% - 12px) / 2);
	min-width: 0;
}

@media (min-width: 600px) {
	.mr-plogos {
		gap: 16px;
	}

	.mr-plogos__item {
		flex-basis: calc((100% - 2 * 16px) / 3);
	}
}

@media (min-width: 1024px) {
	.mr-plogos__item {
		flex-basis: calc((100% - 5 * 16px) / 6);
	}
}

.mr-plogo {
	display: block;
	height: 100%;
	color: var(--mr-white);
	border-radius: var(--mr-r);
}

/* Pole o stałych proporcjach; logo wycentrowane i dopasowane (contain) — bez deformacji. */
.mr-plogo__field {
	position: relative;
	display: block;
	aspect-ratio: 3 / 2;
	border: 1px solid var(--mr-line);
	border-radius: var(--mr-r);
	background: color-mix(in srgb, var(--mr-white) 5%, transparent);
	transition: border-color 0.25s var(--mr-ease), background-color 0.25s var(--mr-ease), box-shadow 0.25s var(--mr-ease);
}

.mr-plogo__field > img {
	position: absolute;
	inset: 16% 12%;
	width: 76%;
	height: 68%;
	object-fit: contain;
	object-position: center;
	opacity: 0.72;
	filter: saturate(0.55) brightness(0.95);
	transition: opacity 0.25s var(--mr-ease), filter 0.25s var(--mr-ease), transform 0.25s var(--mr-ease);
}

.mr-plogo__text {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 0.75rem;
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
	color: var(--mr-muted);
	overflow-wrap: anywhere;
}

a.mr-plogo:hover .mr-plogo__field,
a.mr-plogo:focus-visible .mr-plogo__field {
	border-color: color-mix(in srgb, var(--mr-pink) 55%, transparent);
	background: color-mix(in srgb, var(--mr-pink) 9%, transparent);
	box-shadow: 0 14px 30px -18px color-mix(in srgb, var(--mr-purple) 80%, transparent);
}

a.mr-plogo:hover .mr-plogo__field > img,
a.mr-plogo:focus-visible .mr-plogo__field > img {
	opacity: 1;
	filter: none;
	transform: scale(1.05);
}

a.mr-plogo:hover .mr-plogo__text,
a.mr-plogo:focus-visible .mr-plogo__text {
	color: var(--mr-white);
}

a.mr-plogo:focus-visible {
	outline: 3px solid var(--mr-white);
	outline-offset: 3px;
}

/* Telefon i ekrany dotykowe: logo czytelne od razu, bez polegania na najechaniu. */
@media (hover: none) {
	.mr-plogo__field > img {
		opacity: 0.94;
		filter: none;
	}
}

/* 2. Duże karty wyróżnionych --------------------------------------------------------------------------------------------- */
.mr-pfeats {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mr-pfeats__item {
	display: flex;
	flex: 1 1 20rem;
	max-width: 36rem;
	min-width: 0;
}

.mr-pfeat {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	overflow: clip;
	border: 1px solid var(--mr-line);
	border-radius: var(--mr-r-lg);
	background: var(--mr-surface);
	transition: border-color 0.25s var(--mr-ease), box-shadow 0.25s var(--mr-ease);
}

.mr-pfeat__photo {
	border-radius: 0;
}

.mr-pfeat__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.9rem;
	padding: 1.5rem;
}

.mr-pfeat__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.mr-pfeat__logo {
	display: flex;
	align-items: center;
	flex: 0 1 55%;
	height: 4rem;
	min-width: 0;
}

.mr-pfeat__logo > img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 4rem;
	object-fit: contain;
	object-position: left center;
}

.mr-pfeat__role {
	margin-left: auto;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.35;
	text-align: right;
	text-transform: uppercase;
	color: var(--mr-pink);
}

.mr-pfeat__name {
	font-size: clamp(1.25rem, 1.05rem + 0.8vw, 1.625rem);
}

.mr-pfeat__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--mr-white);
}

.mr-pfeat__link .mr-icon {
	flex: none;
	color: var(--mr-pink);
}

.mr-pfeat__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
}

.mr-pfeat__link:focus-visible {
	outline: 3px solid var(--mr-white);
	outline-offset: 4px;
	border-radius: 4px;
}

.mr-pfeat:has(.mr-pfeat__link:focus-visible) {
	box-shadow: 0 0 0 3px var(--mr-night), 0 0 0 6px var(--mr-white);
}

.mr-pfeat__text {
	font-size: 0.9375rem;
	line-height: 1.65;
	color: var(--mr-muted);
}

.mr-pfeat__text > * + * {
	margin-top: 0.75em;
}

@media (hover: hover) {
	.mr-pfeat:hover {
		border-color: color-mix(in srgb, var(--mr-pink) 50%, transparent);
		box-shadow: 0 20px 40px -24px color-mix(in srgb, var(--mr-purple) 80%, transparent);
	}

	.mr-pfeat:hover .mr-pfeat__link {
		color: var(--mr-pink);
	}
}

/* 3. Strona „Współpracujemy” ------------------------------------------------------------------------------------------------ */
.mr-coop {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	min-height: clamp(24rem, 62svh, 38rem);
	padding-top: var(--mr-header-h);
	overflow: clip;
	background: var(--mr-night);
}

.mr-coop__bg {
	position: absolute;
	inset: 0;
	z-index: -2;
}

.mr-coop__bg > img,
.mr-coop__art,
.mr-coop__art > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mr-coop__art {
	display: block;
}

.mr-coop__art--wide {
	display: none;
}

.mr-coop::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(to top, var(--mr-night) 0%, rgb(9 7 27 / 0.88) 26%, rgb(9 7 27 / 0.4) 60%, rgb(9 7 27 / 0.55) 100%);
	pointer-events: none;
}

.mr-coop__inner {
	display: grid;
	gap: 1.1rem;
	justify-items: start;
	padding-block: 2.5rem 2.5rem;
}

.mr-coop__inner > .mr-eyebrow {
	margin: 0;
}

.mr-coop__title {
	max-width: 18ch;
	font-size: clamp(2.25rem, 1.2rem + 4.2vw, 4.25rem);
	line-height: 1;
	text-shadow: 0 2px 28px rgb(9 7 27 / 0.55);
}

.mr-coop__text {
	max-width: 52ch;
	font-size: clamp(1rem, 0.95rem + 0.3vw, 1.1875rem);
	line-height: 1.6;
	color: rgb(244 237 255 / 0.9);
}

.mr-coop__inner .mr-btn {
	margin-top: 0.4rem;
}

@media (min-width: 900px) {
	.mr-coop__art--tall {
		display: none;
	}

	.mr-coop__art--wide {
		display: block;
	}

	.mr-coop__inner {
		padding-block: 4rem 4.5rem;
	}

	.mr-coop::before {
		background:
			linear-gradient(to top, var(--mr-night) 0%, rgb(9 7 27 / 0.8) 24%, rgb(9 7 27 / 0.2) 60%, rgb(9 7 27 / 0.5) 100%),
			linear-gradient(to right, rgb(9 7 27 / 0.55), rgb(9 7 27 / 0) 60%);
	}
}

.mr-partners-page .mr-section {
	padding-block: clamp(1.75rem, 1.2rem + 3vw, 3.5rem);
}

.mr-partners-page__intro {
	max-width: 62ch;
	padding-top: clamp(1.5rem, 1rem + 2vw, 2.5rem);
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--mr-muted);
}

.mr-partners-page__content {
	padding-top: 1.5rem;
}

.mr-partners-page .mr-section__title {
	font-size: clamp(1.25rem, 1.05rem + 1vw, 1.75rem);
}

.mr-partners-page__empty {
	max-width: 52ch;
	padding-block: clamp(1.5rem, 1rem + 2vw, 3rem);
	color: var(--mr-muted);
}

.mr-partners-page__end {
	padding-bottom: clamp(1rem, 0.5rem + 2vw, 2.5rem);
}
