/*
 * Mazuria Rave — strona główna: hero, rytm sekcji, misja, FAQ.
 * (Szyna wydarzeń i karty: cards.css · wideo: videos.css · logotypy partnerów: partners.css.)
 * Mobile first: punkty 600 / 900 / 1024 / 1280 / 1536.
 */

/* Rytm sekcji strony głównej — gęściej niż domyślne .mr-section, żeby sekcje się nie rozjeżdżały. */
.mr-home .mr-section {
	padding-block: clamp(2rem, 1.2rem + 4vw, 4.5rem);
}

.mr-home .mr-hero + .mr-section {
	padding-top: clamp(2rem, 1.5rem + 3vw, 3.5rem);
}

/* 1. Hero --------------------------------------------------------------------------------------------------------------- */
.mr-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	min-height: clamp(30rem, 78svh, 52rem);
	padding-top: var(--mr-header-h);
	overflow: clip;
	background: var(--mr-night);
}

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

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

.mr-hero__bg > img {
	object-position: 50% 42%;
	animation: mr-hero-zoom 2s var(--mr-ease) both;
}

.mr-hero__art {
	display: block;
	animation: mr-hero-zoom 2s var(--mr-ease) both;
}

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

/* Cień czytelności: dół ciemnieje do koloru strony (hero płynnie przechodzi w kolejną sekcję), góra chroni header. */
.mr-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(to top, var(--mr-night) 0%, rgb(9 7 27 / 0.9) 24%, rgb(9 7 27 / 0.4) 56%, rgb(9 7 27 / 0.55) 100%);
	pointer-events: none;
}

.mr-hero__inner {
	display: grid;
	gap: 1.25rem;
	width: 100%;
	padding-block: 2rem 2.25rem;
}

.mr-hero__inner > * {
	min-width: 0;
	animation: mr-rise 0.8s var(--mr-ease) both;
}

.mr-hero__inner > :nth-child(2) {
	animation-delay: 0.14s;
}

@keyframes mr-rise {
	from {
		opacity: 0;
		transform: translateY(18px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes mr-hero-zoom {
	from {
		transform: scale(1.06);
	}

	to {
		transform: none;
	}
}

.mr-hero__eyebrow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.8rem;
	margin-bottom: 0.85rem;
}

.mr-hero__eyebrow .mr-eyebrow {
	margin: 0;
}

.mr-hero__title {
	max-width: 18ch;
	font-size: clamp(2rem, 1.2rem + 3.8vw, 3.75rem);
	line-height: 1.02;
	text-shadow: 0 2px 28px rgb(9 7 27 / 0.55);
}

.mr-hero__lead {
	display: none;
	max-width: 48ch;
	margin-top: 1rem;
	font-size: 1.0625rem;
	line-height: 1.6;
	color: rgb(244 237 255 / 0.9);
}

.mr-hero__stamp {
	display: none;
}

.mr-hero__facts {
	display: grid;
	gap: 0.6rem;
	margin: 0 0 1.25rem;
	padding: 0;
	list-style: none;
}

.mr-hero__facts li {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
}

.mr-hero__facts .mr-icon {
	margin-top: 0.1em;
	color: var(--mr-pink);
}

.mr-hero__hours {
	white-space: nowrap;
	color: var(--mr-muted);
}

.mr-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.mr-hero__actions .mr-btn {
	flex: 1 1 11rem;
}

/* Wariant pusty („NOWA ENERGIA NADCHODZI”): sam nagłówek marki, bez karty. */
.mr-hero--empty .mr-hero__title {
	max-width: 14ch;
	font-size: clamp(2.25rem, 1.2rem + 5vw, 4.75rem);
}

.mr-hero--empty .mr-hero__lead {
	display: block;
}

.mr-hero--empty .mr-hero__actions {
	margin-top: 1.5rem;
}

@media (min-width: 600px) {
	.mr-hero__lead {
		display: block;
	}

	.mr-hero__inner {
		padding-block: 3rem 3rem;
	}
}

@media (min-width: 900px) {
	.mr-hero {
		min-height: clamp(36rem, 82svh, 54rem);
	}

	.mr-hero__art--tall {
		display: none;
	}

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

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

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

	/* Karta informacyjna z lewej, duży nagłówek z leadem po prawej (DOM: nagłówek pierwszy — kolejność czytania). */
	.mr-hero--event .mr-hero__inner {
		grid-template-columns: minmax(0, 25rem) minmax(0, 1fr);
		align-items: end;
		gap: 3.5rem;
	}

	.mr-hero--event .mr-hero__card {
		grid-column: 1;
		grid-row: 1;
		padding: 1.75rem;
		border: 1px solid var(--mr-line);
		border-radius: var(--mr-r-lg);
		background: color-mix(in srgb, var(--mr-surface) 90%, transparent);
	}

	.mr-hero--event .mr-hero__head {
		grid-column: 2;
		grid-row: 1;
		padding-bottom: 0.5rem;
	}

	.mr-hero__title {
		max-width: 16ch;
	}

	.mr-hero__stamp {
		display: flex;
		align-items: center;
		gap: 0.85rem;
		margin: 0 0 1.25rem;
		padding-bottom: 1.25rem;
		border-bottom: 1px solid var(--mr-line);
	}

	.mr-hero__stamp b {
		font-size: 3.75rem;
		font-weight: 800;
		letter-spacing: -0.04em;
		line-height: 0.9;
	}

	.mr-hero__stamp span {
		font-size: 1rem;
		font-weight: 800;
		letter-spacing: 0.2em;
		text-transform: uppercase;
		color: var(--mr-pink);
	}

	.mr-hero__actions .mr-btn {
		flex: 1 1 auto;
	}

	.mr-hero--empty .mr-hero__actions .mr-btn {
		flex: 0 0 auto;
	}
}

/* 2. Misja -------------------------------------------------------------------------------------------------------------- */
.mr-home-mission {
	background: linear-gradient(to bottom, transparent, color-mix(in srgb, var(--mr-surface) 75%, transparent) 18%, color-mix(in srgb, var(--mr-surface) 75%, transparent) 82%, transparent);
}

.mr-home-mission__inner {
	display: grid;
	gap: 1.75rem;
}

.mr-home-mission__lead {
	max-width: 30ch;
	margin-top: 1rem;
	font-size: clamp(1.25rem, 1rem + 1.4vw, 2rem);
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.3;
}

.mr-home-mission__link {
	margin-top: 1.1rem;
}

.mr-home-mission__text.mr-prose {
	color: rgb(244 237 255 / 0.82);
}

.mr-home-mission__text.mr-prose strong {
	color: var(--mr-white);
}

@media (min-width: 900px) {
	.mr-home-mission__inner {
		grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
		gap: 4rem;
		align-items: start;
	}

	.mr-home-mission__intro {
		position: sticky;
		top: calc(var(--mr-header-h) + var(--mr-ab) + 2rem);
	}
}

/* 3. FAQ na końcu strony ---------------------------------------------------------------------------------------------------- */
.mr-home__faq {
	padding-bottom: clamp(1rem, 0.5rem + 2vw, 2.5rem);
}
