/* Lami Battle — nagłówek i stopka (child theme) */
:root {
	--lami-bg-page: #fce4f0;
	--lami-bg-header: rgba(252, 228, 240, 0.95);
	--lami-pink: #e91e8c;
	--lami-pink-dark: #c2185b;
	--lami-black: #111;
}

/* Tło strony; treść w wąskiej kolumnie — header i footer zostają na całą szerokość viewportu */
html {
	background: var(--lami-bg-page);
}

body {
	margin: 0;
	background: var(--lami-bg-page);
	font-family: "Montserrat", sans-serif;
}

/* Hello (fallback bez Theme Buildera) */
main#content.site-main,
main#content {
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	box-sizing: border-box;
}

/*
 * Elementor: główny dokument strony zwykle jako pierwszy .elementor w body
 * (po skip link / headerze PHP). Typy header/footer kitu pomijamy po atrybucie.
 */
body > .elementor[data-elementor-type="wp-page"],
body > .elementor[data-elementor-type="wp-post"],
body > .elementor[data-elementor-type="single"],
body > .elementor[data-elementor-type="archive"],
body > .elementor[data-elementor-type="search-results"],
body > .elementor.elementor-location-single,
body > .elementor.elementor-location-archive {
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	box-sizing: border-box;
}

/* Pełna szerokość viewportu (nadpisanie kontenerów Hello / Elementora) */
#site-header.lami-site-header,
#site-footer.lami-site-footer {
	width: 100%;
	max-width: none;
	min-width: 100%;
	margin-left: 0;
	margin-right: 0;
	box-sizing: border-box;
}

.lami-site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: var(--lami-bg-header);
	backdrop-filter: blur(8px);
	border-bottom: 3px solid var(--lami-pink);
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	padding: 10px 28px;
}

.lami-site-header .lami-nav-logo {
	font-family: "Bebas Neue", sans-serif;
	font-size: 1.6rem;
	letter-spacing: 2px;
	color: var(--lami-black);
	text-decoration: none;
	line-height: 1;
}

.lami-site-header .lami-nav-logo span {
	color: var(--lami-pink);
}

.lami-site-header .lami-nav-row {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.lami-site-header .lami-header-menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 20px;
	align-items: center;
}

.lami-site-header .lami-header-menu a {
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	font-size: 0.8rem;
	text-transform: uppercase;
	color: var(--lami-pink-dark);
	text-decoration: none;
}

.lami-site-header .lami-header-menu a:hover {
	color: var(--lami-pink);
}

.lami-site-header .lami-btn {
	background: var(--lami-pink);
	color: #fff;
	font-family: "Bebas Neue", sans-serif;
	font-size: 1.1rem;
	letter-spacing: 2px;
	padding: 10px 28px;
	border-radius: 50px;
	text-decoration: none;
	box-shadow: 0 4px 20px rgba(233, 30, 140, 0.5);
	transition: transform 0.2s;
	white-space: nowrap;
}

.lami-site-header .lami-btn:hover {
	transform: scale(1.05);
	color: #fff;
}

@media (max-width: 600px) {
	.lami-site-header {
		padding: 8px 14px;
	}
	.lami-site-header .lami-nav-logo {
		font-size: 1.35rem;
	}
	.lami-site-header .lami-btn {
		font-size: 0.95rem;
		padding: 8px 18px;
		width: 100%;
		text-align: center;
	}
}

/* Stopka */
.lami-site-footer {
	background: var(--lami-black);
	color: rgba(255, 255, 255, 0.6);
	text-align: center;
	padding: 30px 20px;
	font-family: "Montserrat", sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.lami-site-footer .lami-footer-brand {
	font-family: "Bebas Neue", sans-serif;
	font-size: 1.8rem;
	color: #fff;
	letter-spacing: 4px;
	display: block;
	margin-bottom: 8px;
	text-decoration: none;
}

.lami-site-footer .lami-footer-brand span {
	color: var(--lami-pink);
}

.lami-site-footer a {
	color: var(--lami-pink);
	text-decoration: none;
}

.lami-site-footer a:hover {
	text-decoration: underline;
}

.lami-site-footer .lami-footer-menu {
	margin: 16px 0 0;
}

.lami-site-footer .lami-footer-menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px 24px;
}

.lami-site-footer .lami-footer-menu a {
	font-size: 0.7rem;
}

/* Pływający przycisk „Zapisz się” */
.lami-sticky-btn {
	position: fixed;
	bottom: 22px;
	right: 22px;
	z-index: 998;
}

.lami-sticky-btn__link {
	display: block;
	background: var(--lami-pink);
	color: #fff;
	font-family: "Bebas Neue", sans-serif;
	font-size: 1.1rem;
	letter-spacing: 2px;
	padding: 13px 26px;
	border-radius: 50px;
	text-decoration: none;
	text-align: center;
	box-shadow: 0 4px 24px rgba(233, 30, 140, 0.55);
	animation: lami-sticky-pulse 2s infinite;
}

.lami-sticky-btn__link:hover {
	color: #fff;
}

@keyframes lami-sticky-pulse {
	0%,
	100% {
		box-shadow: 0 4px 24px rgba(233, 30, 140, 0.55);
	}
	50% {
		box-shadow: 0 4px 42px rgba(233, 30, 140, 0.9);
	}
}

@media (max-width: 600px) {
	.lami-sticky-btn {
		bottom: 14px;
		right: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lami-site-header .lami-btn {
		transition: none;
	}
	.lami-site-header .lami-btn:hover {
		transform: none;
	}

	.lami-sticky-btn__link {
		animation: none;
		box-shadow: 0 4px 24px rgba(233, 30, 140, 0.55);
	}
}
