/* Centaurus + Wilderra — dekoracje, przyciski, nowe układy sekcji.
   Kolory i fonty TYLKO ze zmiennych :root (Customizer / brand.php). */

:root {
	--brand: var(--wp--preset--color--brand, #004540);
	--brand-ink: var(--wp--preset--color--brand-ink, #F6F3EC);
	--brand-deep: #00352F;
	--accent: var(--wp--preset--color--accent, #C4A574);
	--gold: var(--wp--preset--color--gold, #C9A66B);
	--bg: var(--wp--preset--color--bg, #F6F3EC);
	--bg-alt: var(--wp--preset--color--bg-alt, #EFEBE0);
	--surface: var(--wp--preset--color--surface, #FFFDF8);
	--text: var(--wp--preset--color--text, #22302A);
	--text-muted: var(--wp--preset--color--text-muted, #6B7A70);
	--border: var(--wp--preset--color--border, #E4DDD0);
	--btn-bg: var(--brand);
	--btn-text: var(--brand-ink);
	--btn-bg-hover: var(--wp--custom--btn-bg-hover, #14301F);
	--btn-radius: var(--wp--custom--btn-radius, 6px);
	--font-display: var(--wp--preset--font-family--display, "Playfair Display", Georgia, serif);
	--font-body: var(--wp--preset--font-family--body, "DM Sans", system-ui, sans-serif);
	--font-script: var(--wp--preset--font-family--script, "Cormorant Garamond", "Playfair Display", Georgia, serif);
	--font-stamp: var(--wp--preset--font-family--stamp, "Rubik Dirt", Impact, sans-serif);
	--radius: var(--wp--custom--radius, 8px);
	--radius-lg: var(--wp--custom--radius-lg, 16px);
	--section-py: var(--wp--custom--section-py, 5.5rem);
	--maxw: var(--wp--custom--maxw, 1200px);
	--promo-bg: var(--bg);
	--promo-text: var(--text);
	--header-bg: var(--surface);
	--footer-bg: var(--forest, #1A3C32);
	--footer-text: var(--forest-ink, #F6F3EC);
	--forest: var(--wp--preset--color--forest, #1A3C32);
	--forest-ink: var(--wp--preset--color--forest-ink, #F6F3EC);
	--edge-url: url("../img/edge-torn.svg");
	--trees-url: url("../img/trees.svg");
}

.clp-script {
	font-family: var(--font-script);
	font-weight: 500;
	font-style: italic;
	line-height: 1.15;
	letter-spacing: .01em;
	color: inherit;
}

.clp-kicker {
	color: var(--accent);
}

/* Buttons — sprzedażowe, z strzałką jak na makiecie */
.clp-btn,
.clp-theme a.button,
.clp-theme button.button,
.clp-theme input.button,
.clp-theme .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .65rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-weight: 600;
	font-size: .78rem;
	padding: .95rem 1.45rem;
	border-radius: var(--btn-radius);
}

.clp-btn--arrow::after,
.clp-btn.clp-btn--arrow::after {
	content: "→";
	font-size: 1.05em;
	line-height: 1;
	transition: transform .2s ease;
}
.clp-btn--arrow:hover::after {
	transform: translateX(4px);
}

.clp-btn--ghost {
	background: transparent;
	color: var(--brand-ink) !important;
	border: 1px solid color-mix(in srgb, var(--brand-ink) 55%, transparent);
	box-shadow: none;
}
.clp-btn--ghost:hover {
	background: color-mix(in srgb, var(--brand-ink) 12%, transparent);
	transform: translateY(-2px);
	box-shadow: none;
}

.clp-btn--gold {
	background: var(--gold);
	color: var(--forest) !important;
}
.clp-btn--gold:hover {
	background: color-mix(in srgb, var(--gold) 82%, var(--text));
	color: var(--forest) !important;
}

.clp-btn--light {
	background: var(--surface);
	color: var(--text) !important;
	border: 1px solid var(--text);
	box-shadow: none;
	gap: .7rem;
}
.clp-btn--light:hover {
	background: var(--bg);
	transform: translateY(-2px);
	box-shadow: none;
}
.clp-btn__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}
.clp-btn__icon .clp-trust__svg,
.clp-btn__icon svg {
	width: 1.15rem;
	height: 1.15rem;
	stroke: currentColor;
	fill: none;
}
.clp-btn--light .clp-btn__icon svg [fill],
.clp-btn--light .clp-btn__icon polygon {
	fill: currentColor;
	stroke: none;
}

.clp-btn--forest {
	background: var(--forest);
	color: var(--forest-ink) !important;
}
.clp-btn--forest:hover {
	background: color-mix(in srgb, var(--forest) 82%, #000);
	color: var(--forest-ink) !important;
}

.clp-btn--outline {
	background: transparent;
	color: var(--text) !important;
	border: 1px solid var(--border);
}
.clp-btn--outline:hover {
	border-color: var(--brand);
	background: var(--surface);
	color: var(--brand) !important;
}

.clp-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	color: var(--text);
	border-radius: 50%;
	transition: background .2s ease, color .2s ease;
}
.clp-icon-btn:hover {
	background: var(--bg-alt);
	color: var(--brand);
}
.clp-icon-btn .clp-trust__svg {
	width: 1.15rem;
	height: 1.15rem;
}

/* Torn / painterly edges */
.clp-edge-top,
.clp-edge-bottom,
.clp-tone-forest {
	position: relative;
}
.clp-edge-top::before,
.clp-edge-bottom::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: 42px;
	pointer-events: none;
	z-index: 3;
	background-color: inherit;
	-webkit-mask: var(--edge-url) center / 100% 100% no-repeat;
	mask: var(--edge-url) center / 100% 100% no-repeat;
}
.clp-edge-top::before {
	top: 0;
	transform: translateY(-70%) scaleY(-1);
}
.clp-edge-bottom::after {
	bottom: 0;
	transform: translateY(70%);
}

/* Forest / dark mission sections */
.clp-tone-forest {
	background: var(--forest);
	color: var(--forest-ink);
	overflow: hidden;
}
.clp-tone-forest h1,
.clp-tone-forest h2,
.clp-tone-forest h3,
.clp-tone-forest .clp-logo,
.clp-tone-forest .clp-kicker {
	color: var(--forest-ink);
}
.clp-tone-forest .clp-kicker { color: var(--gold); }
.clp-tone-forest p,
.clp-tone-forest .clp-benefit p {
	color: color-mix(in srgb, var(--forest-ink) 78%, transparent);
}

.clp-trees {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 150px;
	pointer-events: none;
	z-index: 1;
	color: color-mix(in srgb, var(--brand-deep, #00352F) 80%, #000);
	opacity: .45;
}
.clp-trees img,
.clp-trees svg {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: bottom;
	display: block;
}

/* Polaroid */
.clp-polaroid {
	background: var(--surface);
	padding: .7rem .7rem 2.75rem;
	box-shadow: 0 18px 40px color-mix(in srgb, #000 22%, transparent);
	transform: rotate(4deg);
	max-width: 22rem;
	margin-inline: auto;
	position: relative;
	z-index: 2;
}
.clp-polaroid img,
.clp-polaroid .clp-ph {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	display: block;
}
.clp-polaroid__note {
	position: absolute;
	left: 0;
	right: 0;
	bottom: .55rem;
	text-align: center;
	font-family: var(--font-script);
	font-size: 1.65rem;
	color: var(--forest);
	transform: rotate(-3deg);
}

/* Stamp / seal */
.clp-stamp {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 7.5rem;
	height: 7.5rem;
	border-radius: 50%;
	color: var(--gold);
	transform: rotate(-12deg);
	flex-shrink: 0;
}
.clp-stamp__ring {
	position: absolute;
	inset: 0;
	border: 2px solid currentColor;
	border-radius: 50%;
	box-shadow: inset 0 0 0 6px color-mix(in srgb, currentColor 18%, transparent);
}
.clp-stamp__ring::before {
	content: "";
	position: absolute;
	inset: 8px;
	border: 1px dashed currentColor;
	border-radius: 50%;
	opacity: .7;
}
.clp-stamp__text {
	position: relative;
	z-index: 1;
	font-family: var(--font-script);
	font-size: 1.2rem;
	line-height: 1.15;
	text-align: center;
	max-width: 5.4rem;
	color: inherit;
}

.clp-heart-float {
	position: absolute;
	width: 4.5rem;
	height: auto;
	color: var(--accent);
	opacity: .85;
	pointer-events: none;
}
.clp-heart-float--nl {
	right: 8%;
	top: -1.2rem;
	transform: rotate(12deg);
}

/* Promo bar — kremowy pasek z dwoma komunikatami */
.clp-promo-bar {
	background: var(--promo-bg);
	color: var(--promo-text);
	font-size: .8rem;
	letter-spacing: .02em;
	padding: .55rem 2.5rem .55rem 1rem;
	border-bottom: 1px solid var(--border);
}
.clp-promo-bar--split .clp-promo-bar__inner {
	width: min(100% - 2rem, var(--maxw));
	margin-inline: auto;
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: center;
}
.clp-promo-bar--split p { margin: 0; }
.clp-promo-bar__right {
	opacity: .85;
	white-space: nowrap;
}
@media (max-width: 640px) {
	.clp-promo-bar--split .clp-promo-bar__inner {
		flex-direction: column;
		text-align: center;
		gap: .2rem;
	}
	.clp-promo-bar__right { white-space: normal; }
}

/* Header — sklep: pełne tło; landing: przezroczysty overlay + glass na scrollu */
.clp-header {
	background: var(--header-bg);
	border-bottom: 1px solid var(--border);
}
.clp-header .clp-cart-count {
	background: var(--brand);
	color: var(--brand-ink);
}
.clp-header__cta { display: none; }
@media (min-width: 960px) {
	.clp-header__cta { display: inline-flex; }
}

.clp-is-landing,
html {
	--clp-header-h: 4.85rem;
}
body.clp-is-landing .clp-header.clp-header--overlay {
	position: sticky;
	top: 0;
	z-index: 50;
	background: transparent !important;
	background-color: transparent !important;
	border-bottom-color: transparent;
	box-shadow: none;
}
body.clp-is-landing .clp-header.clp-header--overlay + .clp-hero-mission,
body.clp-is-landing .clp-header.clp-header--overlay + .clp-hero-bleed,
body.clp-is-landing .wp-block-centaurus-lp-header-nav + .wp-block-centaurus-lp-hero-fullbleed {
	margin-top: calc(-1 * var(--clp-header-h, 4.85rem)) !important;
	position: relative;
	z-index: 0;
}
body.clp-is-landing .clp-header.clp-header--overlay.is-scrolled,
body.clp-is-landing .clp-header.clp-header--overlay.is-open {
	background: color-mix(in srgb, var(--bg) 55%, transparent);
	background-color: color-mix(in srgb, var(--bg) 55%, transparent);
	border-bottom-color: color-mix(in srgb, var(--text) 10%, transparent);
	box-shadow: 0 12px 40px color-mix(in srgb, var(--text) 8%, transparent);
	backdrop-filter: blur(18px) saturate(1.55);
	-webkit-backdrop-filter: blur(18px) saturate(1.55);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	body.clp-is-landing .clp-header.clp-header--overlay.is-scrolled,
	body.clp-is-landing .clp-header.clp-header--overlay.is-open {
		background: color-mix(in srgb, var(--bg) 94%, transparent);
		background-color: color-mix(in srgb, var(--bg) 94%, transparent);
	}
}
@media (prefers-reduced-transparency: reduce) {
	body.clp-is-landing .clp-header.clp-header--overlay.is-scrolled,
	body.clp-is-landing .clp-header.clp-header--overlay.is-open {
		background: var(--bg);
		background-color: var(--bg);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
}
@media (min-width: 900px) {
	.clp-is-landing .clp-hero-mission__copy {
		padding-top: calc(var(--clp-header-h, 4.85rem) + 1.1rem);
	}
	.clp-is-landing .clp-hero-mission--has-product .clp-hero-mission__copy {
		padding-top: calc(var(--clp-header-h, 4.85rem) + .85rem);
	}
}

/* Hero — prezent z misją (split jak makieta) */
.clp-hero-mission.clp-hero-bleed {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
	grid-template-rows: 1fr auto;
	align-items: stretch;
	min-height: min(82vh, 720px);
	background: var(--bg);
	color: var(--text);
	overflow: hidden;
}
.clp-hero-mission__scene {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}
.clp-hero-mission__scene img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: right center;
	display: block;
}
.clp-hero-mission .clp-hero-bleed__overlay,
.clp-hero-mission .clp-hero-bleed__bg,
.clp-hero-mission .clp-hero-bleed__copy {
	display: none;
}
.clp-hero-mission__copy {
	grid-column: 1;
	grid-row: 1;
	display: flex;
	align-items: flex-start;
	z-index: 6;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	padding: calc(var(--clp-header-h, 5rem) + 1.1rem) 1.5rem 1.75rem max(1.5rem, calc((100vw - var(--maxw)) / 2));
}
.clp-hero-mission__copy-inner {
	width: 100%;
	max-width: 36rem;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .7rem;
	min-width: 0;
	box-sizing: border-box;
}
.clp-hero-mission__offer {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	gap: 1.1rem 1.25rem;
	width: auto;
	max-width: 100%;
	box-sizing: border-box;
}
.clp-hero-mission__offer-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: .5rem;
	flex: 0 1 16.75rem;
	width: 16.75rem;
	min-width: 0;
	max-width: calc(100% - 15rem);
	margin: 0;
	padding-top: .1rem;
	box-sizing: border-box;
}
.clp-hero-mission__title {
	margin: 0;
	line-height: .9;
	color: var(--text);
	text-transform: none;
	font-family: var(--font-body);
	font-size: clamp(3rem, 6.6vw, 5.1rem);
	font-weight: 800;
	position: relative;
}
.clp-hero-mission__line {
	display: block;
	font-family: var(--font-body);
	font-weight: 800;
	font-size: .46em;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--text);
	margin-bottom: .06em;
}
.clp-hero-mission__mark {
	display: block;
	font-family: var(--font-stamp);
	font-weight: 400;
	font-size: 1em;
	letter-spacing: .01em;
	text-transform: uppercase;
	color: var(--forest);
	line-height: .86;
}
.clp-hero-mission__script,
.clp-hero-mission__script.clp-script {
	font-family: var(--font-script);
	font-size: clamp(1.45rem, 2.4vw, 2rem);
	color: var(--text);
	margin: 0;
	text-transform: none;
	letter-spacing: .01em;
	font-weight: 500;
	font-style: italic;
	font-synthesis: none;
	max-width: 18rem;
	line-height: 1.2;
}
.clp-hero-mission__lead {
	margin: 0;
	max-width: 20rem;
	color: var(--text);
	font-size: .95rem;
	line-height: 1.5;
}
.clp-hero-mission__cta {
	margin: .15rem 0 0;
	gap: .65rem;
	flex-wrap: wrap;
	align-items: stretch;
}
.clp-hero-mission__offer-copy .clp-hero-mission__cta {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: .55rem;
	width: 100%;
	max-width: 100%;
	margin: .1rem 0 0;
}
.clp-hero-mission__offer-copy .clp-hero-mission__cta .clp-btn {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	justify-content: center;
	min-height: 2.85rem;
	height: auto;
	padding: .65rem .9rem;
	font-size: .78rem;
	letter-spacing: .06em;
	white-space: normal;
	text-align: center;
	line-height: 1.15;
}
.clp-hero-mission__cta .clp-btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 1.95rem;
	font-size: .95rem;
	letter-spacing: .07em;
	border-radius: 5px;
	min-height: 3.5rem;
	height: 3.5rem;
	line-height: 1;
}
.clp-hero-mission__cta .clp-btn--forest {
	border: 1px solid transparent;
}
.clp-hero-mission__cta .clp-btn__icon {
	flex-shrink: 0;
}
.clp-hero-mission__cta .clp-btn__icon .clp-trust__svg,
.clp-hero-mission__cta .clp-btn__icon svg {
	width: 1.15rem;
	height: 1.15rem;
}
.clp-hero-mission__media {
	grid-column: 2;
	grid-row: 1 / 3;
	position: relative;
	min-width: 0;
	min-height: 22rem;
	background: transparent;
	overflow: visible;
	z-index: 5;
}
.clp-hero-mission__img,
.clp-hero-mission__media img.clp-hero-mission__img,
.clp-hero-mission__media .clp-ph {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: contain;
	object-position: center 62%;
	border-radius: 0;
}
.clp-hero-mission__heart {
	position: absolute;
	right: -2.4rem;
	top: .42em;
	width: 3.55rem;
	height: auto;
	z-index: 4;
	color: var(--gold);
	pointer-events: none;
	filter: none;
	transform-origin: center;
	animation: clp-heart-bob 2.8s ease-in-out infinite;
}
.clp-hero-mission__heart svg {
	display: block;
	width: 100%;
	height: auto;
}
.clp-hero-mission__callout {
	position: absolute;
	right: -.35rem;
	bottom: .35rem;
	z-index: 12;
	width: min(100%, 30rem);
	color: var(--forest);
	pointer-events: none;
	transform: rotate(-7deg);
	transform-origin: center;
}
.clp-hero-mission__brush {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 10px 18px color-mix(in srgb, var(--forest) 32%, transparent));
}
.clp-hero-mission__callout-text,
.clp-hero-mission__callout p {
	position: absolute;
	inset: 0;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .55rem;
	padding: .15rem 2.4rem .55rem 2.6rem;
	font-family: var(--font-script);
	font-weight: 600;
	font-size: clamp(1.45rem, 2.5vw, 2.05rem);
	letter-spacing: 0;
	text-transform: none;
	color: var(--forest-ink);
	text-align: center;
	line-height: 1.1;
	transform: rotate(-3deg);
}
.clp-hero-mission__callout-heart {
	width: 2.15rem;
	flex-shrink: 0;
	color: var(--gold);
	display: inline-flex;
	animation: clp-heart-bob-soft 3.1s ease-in-out infinite;
}
.clp-hero-mission__callout-heart svg {
	width: 2.15rem;
	height: auto;
}
.clp-hero-mission__decor {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	overflow: hidden;
}
.clp-hero-mission__decor::before,
.clp-hero-mission__decor::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	background: var(--gold);
	opacity: .28;
}
.clp-hero-mission__decor::before {
	width: 8px;
	height: 8px;
	left: 11%;
	top: 36%;
}
.clp-hero-mission__decor::after {
	width: 13px;
	height: 13px;
	left: 7%;
	top: 68%;
	opacity: .18;
}
.clp-hero-mission__spark {
	position: absolute;
	color: var(--gold);
	opacity: .72;
	line-height: 0;
}
.clp-hero-mission__spark svg {
	display: block;
	width: 100%;
	height: auto;
}
.clp-hero-mission__spark--a {
	left: 4%;
	top: 12%;
	width: 2.1rem;
	transform: rotate(-18deg);
	animation: clp-spark-drift 6s ease-in-out infinite;
}
.clp-hero-mission__spark--b {
	left: 28%;
	top: 6%;
	width: 3.2rem;
	opacity: .55;
	animation: clp-spark-drift 7.4s ease-in-out infinite reverse;
}
.clp-hero-mission__spark--c {
	left: 18%;
	bottom: 22%;
	width: 1.55rem;
	opacity: .6;
	transform: rotate(14deg);
	animation: clp-spark-drift 5.2s ease-in-out infinite;
}
.clp-hero-mission__spark--d {
	left: 38%;
	top: 58%;
	width: 2.45rem;
	opacity: .4;
	transform: rotate(8deg);
}
@keyframes clp-heart-bob {
	0%, 100% { transform: rotate(-12deg) translateY(0) scale(1); }
	50% { transform: rotate(8deg) translateY(-11px) scale(1.12); }
}
@keyframes clp-heart-bob-soft {
	0%, 100% { transform: translateY(0) scale(1); }
	50% { transform: translateY(-7px) scale(1.08); }
}
@keyframes clp-spark-drift {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-9px); }
}
@keyframes clp-hero-product-in {
	from { opacity: 0; transform: rotate(-2.2deg) translateY(16px); }
	to { opacity: 1; transform: rotate(-2.2deg) translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
	.clp-hero-mission__heart,
	.clp-hero-mission__callout-heart,
	.clp-hero-mission__spark,
	.clp-hero-product,
	.clp-hero-product__heart {
		animation: none;
	}
	.clp-hero-mission__heart { transform: rotate(-12deg); }
	.clp-hero-product { opacity: 1; }
}
.clp-hero-mission__trust {
	grid-column: 1 / -1;
	grid-row: 2;
	position: relative;
	z-index: 3;
	background: linear-gradient(90deg, var(--surface) 0 54%, color-mix(in srgb, var(--surface) 78%, transparent) 72%, transparent 94%);
	padding: 1.35rem 13rem 1.4rem max(1.5rem, calc((100vw - var(--maxw)) / 2));
}
.clp-hero-mission__trust-inner {
	display: flex;
	flex-wrap: nowrap;
	gap: 1.25rem 1.85rem;
	align-items: center;
	max-width: 58rem;
}
.clp-hero-mission__trust-item {
	display: flex;
	align-items: center;
	gap: .7rem;
	font-size: .88rem;
	line-height: 1.28;
	color: var(--text);
	max-width: 13.5rem;
}
.clp-hero-mission__trust-icon {
	display: inline-flex;
	color: var(--gold);
	flex-shrink: 0;
}
.clp-hero-mission__trust-icon .clp-trust__svg {
	width: 2.15rem;
	height: 2.15rem;
	stroke-width: 1.7;
}

.clp-hero-product {
	position: relative;
	left: auto;
	bottom: auto;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	flex: 0 0 auto;
	width: 13.75rem;
	max-width: 46%;
	margin: 0;
	background: var(--surface);
	padding: .4rem .4rem .65rem;
	box-shadow: 0 16px 36px color-mix(in srgb, #000 16%, transparent);
	transform: rotate(-2.2deg);
	transform-origin: center center;
}
.clp-hero-product__heart {
	position: absolute;
	right: -.45rem;
	top: -.65rem;
	width: 2.1rem;
	color: var(--gold);
	z-index: 4;
	pointer-events: none;
	animation: clp-heart-bob-soft 3.1s ease-in-out infinite;
}
.clp-hero-product__heart svg {
	display: block;
	width: 100%;
	height: auto;
}
.clp-hero-product__media {
	display: block;
	flex: 0 0 auto;
	width: 100%;
	padding: 0;
	background: #efe8dc;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, #000 6%, transparent);
	overflow: hidden;
	aspect-ratio: 1;
}
.clp-hero-product__media img,
.clp-hero-product__media .clp-ph {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	aspect-ratio: 1;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}
.clp-hero-product__body {
	text-align: left;
	padding: .55rem .25rem .05rem .3rem;
	min-width: 0;
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: .1rem;
}
.clp-hero-product__kicker {
	margin: 0;
	font-size: 1.05rem;
	color: var(--forest);
	line-height: 1.05;
}
.clp-hero-product__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1.2;
	white-space: normal;
	overflow: visible;
	text-overflow: unset;
}
.clp-hero-product__title a {
	color: inherit;
	text-decoration: none;
}
.clp-hero-product__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .55rem;
	margin-top: .4rem;
	flex-wrap: nowrap;
}
.clp-hero-product__price {
	margin: 0;
	color: var(--forest);
	font-size: 1.1rem;
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1;
	white-space: nowrap;
}
.clp-hero-product__price .woocommerce-Price-amount,
.clp-hero-product__price bdi {
	font-weight: 800;
	font-style: normal;
}
.clp-hero-product .clp-btn {
	width: auto;
	flex: 0 0 auto;
	justify-content: center;
	min-height: 2.4rem;
	height: 2.4rem;
	padding: 0 1rem;
	font-size: .72rem;
	letter-spacing: .08em;
	white-space: nowrap;
}
.clp-hero-product .clp-polaroid__tape {
	width: 2.85rem;
	height: .85rem;
}
.clp-hero-product .clp-polaroid__tape--br {
	display: block;
	bottom: -.2rem;
	right: 14%;
}
.clp-hero-mission--has-product .clp-hero-mission__spark--d {
	display: none;
}
.clp-hero-mission--has-product .clp-hero-mission__title {
	margin-bottom: 0;
	font-size: clamp(2.55rem, 5.2vw, 4.35rem);
	max-width: 100%;
	overflow-wrap: anywhere;
}
.clp-hero-mission--has-product .clp-hero-mission__script {
	margin-top: 0;
}
.clp-hero-mission--has-product.clp-hero-bleed {
	min-height: min(78vh, 680px);
}
.clp-hero-mission--has-product .clp-hero-mission__copy-inner {
	gap: .55rem;
	max-width: min(34.5rem, 100%);
}
.clp-hero-mission--has-product .clp-hero-mission__offer-copy .clp-hero-mission__script,
.clp-hero-mission--has-product .clp-hero-mission__offer-copy .clp-hero-mission__script.clp-script {
	max-width: 100%;
	font-size: clamp(1.25rem, 1.9vw, 1.7rem);
}
.clp-hero-mission--has-product .clp-hero-mission__offer-copy .clp-hero-mission__lead {
	max-width: 100%;
	font-size: .9rem;
	line-height: 1.45;
}

@media (min-width: 900px) and (max-width: 1100px) {
	.clp-hero-product {
		width: 12.25rem;
	}
	.clp-hero-mission__offer {
		gap: .85rem;
	}
	.clp-hero-mission__offer-copy {
		max-width: 14.5rem;
	}
	.clp-hero-mission--has-product .clp-hero-mission__copy-inner {
		max-width: min(30rem, 100%);
	}
	.clp-hero-mission__offer-copy .clp-hero-mission__cta .clp-btn {
		font-size: .72rem;
		padding: .55rem .7rem;
	}
}

@media (max-width: 899px) {
	.clp-hero-mission.clp-hero-bleed {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		min-height: 0;
	}
	.clp-hero-mission__scene img {
		object-position: 72% center;
	}
	.clp-hero-mission__copy {
		grid-row: 1;
		align-items: flex-start;
		padding: calc(var(--clp-header-h, 4.85rem) + .85rem) 1.25rem 1.25rem;
		background: color-mix(in srgb, var(--bg) 90%, transparent);
	}
	.clp-hero-mission__copy-inner {
		max-width: none;
		gap: .5rem;
		align-items: stretch;
	}
	.clp-hero-mission__offer {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: .85rem;
		width: 100%;
	}
	.clp-hero-mission__offer-copy {
		align-items: center;
		text-align: center;
		width: 100%;
		max-width: 28rem;
		flex: 0 1 auto;
	}
	.clp-hero-mission__offer-copy .clp-hero-mission__script,
	.clp-hero-mission__offer-copy .clp-hero-mission__lead {
		max-width: 28rem;
		text-align: center;
	}
	.clp-hero-mission__offer-copy .clp-hero-mission__cta {
		max-width: 22rem;
		width: 100%;
	}
	.clp-hero-mission__offer-copy .clp-hero-mission__cta .clp-btn {
		font-size: .88rem;
		min-height: 3rem;
		padding: .7rem 1.1rem;
	}
	.clp-hero-product {
		width: min(15.5rem, 82%);
		max-width: none;
		margin: 0 auto;
		transform: rotate(-1.4deg);
	}
	.clp-hero-mission__media {
		display: none;
	}
	.clp-hero-mission__heart {
		right: .15rem;
		top: .15em;
		width: 2.7rem;
	}
	.clp-hero-mission__spark--d { display: none; }
	.clp-hero-mission__trust {
		grid-column: 1;
		grid-row: 2;
		background: var(--surface);
		padding: 1.1rem 1.25rem 1.4rem;
	}
	.clp-hero-mission__trust-inner {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1rem .85rem;
		max-width: none;
		flex-wrap: wrap;
	}
	.clp-hero-mission__trust-item { max-width: none; }
	.clp-hero-mission__cta { flex-direction: column; align-items: stretch; }
	.clp-hero-mission__cta .clp-btn { justify-content: center; }
	.clp-hero-product__media {
		flex: 0 0 auto;
		width: 100%;
	}
	.clp-hero-product__media img,
	.clp-hero-product__media .clp-ph {
		min-height: 0;
	}
	.clp-hero-product__title {
		font-size: 1.05rem;
	}
}

/* Trust under hero */
.clp-trust {
	background: var(--bg);
	border-block: 0;
	position: relative;
	z-index: 2;
}
.clp-trust--stack .clp-trust__inner {
	padding-block: 2rem 1.25rem;
}
.clp-trust--stack .clp-trust__text {
	color: var(--text);
	font-size: .85rem;
	max-width: 11rem;
}
.clp-trust--stack .clp-trust__icon {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: var(--surface);
	border: 1px solid var(--border);
	color: var(--brand);
}

.clp-has-custom-separators,
.clp-editor-sep-host {
	position: relative;
	overflow: visible;
}
.clp-impact.clp-has-custom-separators,
.wp-block-centaurus-lp-photo-overlay.clp-has-custom-separators {
	overflow: hidden;
}
.clp-block-separator {
	position: absolute !important;
	left: 0;
	right: 0;
	width: 100%;
	max-width: 100%;
	line-height: 0;
	pointer-events: none;
	z-index: 8;
	grid-column: 1 / -1;
}
.clp-block-separator img {
	display: block;
	width: 100%;
	height: 5rem;
	max-width: none;
	object-fit: fill;
}
.clp-block-separator--top {
	top: var(--clp-separator-margin, 0px);
	bottom: auto;
}
.clp-block-separator--bottom {
	bottom: var(--clp-separator-margin, 0px);
	top: auto;
}
.clp-block-separator.is-flipped img {
	transform: scaleY(-1);
}
@media (max-width: 899px) {
	/* Mobilnie: wszystkie dekoracyjne separatory — w złych miejscach */
	.clp-block-separator,
	.clp-mission-strip__sep,
	.clp-impact__sep,
	.clp-impact__tear,
	.clp-newsletter__sep,
	.clp-footer__sep {
		display: none !important;
	}
}
.clp-block-separator--left,
.clp-block-separator--right {
	top: 0;
	bottom: 0;
	width: 5rem;
	max-width: none;
	container-type: size;
	overflow: hidden;
}
.clp-block-separator--left {
	left: var(--clp-separator-margin, 0px);
	right: auto;
}
.clp-block-separator--right {
	right: var(--clp-separator-margin, 0px);
	left: auto;
}
.clp-block-separator--left img,
.clp-block-separator--right img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100cqh;
	height: 100cqw;
	max-width: none;
	object-fit: cover;
	object-position: center;
	transform-origin: center;
}
.clp-block-separator--left img {
	transform: translate(-50%, -50%) rotate(90deg);
}
.clp-block-separator--right img {
	transform: translate(-50%, -50%) rotate(-90deg);
}
.clp-block-separator--left.is-flipped img {
	transform: translate(-50%, -50%) rotate(90deg) scaleY(-1);
}
.clp-block-separator--right.is-flipped img {
	transform: translate(-50%, -50%) rotate(-90deg) scaleY(-1);
}
@media (max-width: 899px) {
	.clp-block-separator--left,
	.clp-block-separator--right {
		display: none !important;
		width: 0 !important;
		max-width: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}
}
.clp-mission-strip .clp-block-separator,
.wp-block-centaurus-lp-trust-strip .clp-block-separator,
.wp-block-centaurus-lp-benefits.clp-mission-strip .clp-block-separator {
	z-index: 1;
}
/* Home: bez zielonego separatora pod polaroidem misji */
.clp-mission-strip > .clp-block-separator--bottom,
.clp-mission-strip .clp-mission-strip__sep,
.clp-mission-strip + .clp-products > .clp-block-separator--top,
.clp-mission-strip + .wp-block-centaurus-lp-product-grid > .clp-block-separator--top {
	display: none;
}

/* Mission strip — Dzięki Wam możemy + polaroid */
.wp-block-centaurus-lp-trust-strip,
.wp-block-centaurus-lp-benefits.clp-mission-strip {
	overflow: visible;
}
body.clp-theme .wp-block-centaurus-lp-trust-strip,
body.clp-theme .wp-block-centaurus-lp-benefits.clp-mission-strip,
body.clp-theme .entry-content > .clp-mission-strip,
body.clp-theme .wp-block-post-content > .clp-mission-strip,
body.clp-theme .clp-mission-strip {
	position: relative;
	background: transparent !important;
	background-color: transparent !important;
	color: #fff;
	overflow: visible;
	padding: 2.45rem 0 2.85rem !important;
	margin: 0;
	margin-top: -39px !important;
	margin-block-start: -39px !important;
	z-index: 5;
}
.clp-mission-strip.clp-tone-forest,
.clp-mission-strip.has-background {
	background: transparent !important;
	background-color: transparent !important;
	overflow: visible;
}
.clp-mission-strip__bar {
	position: relative;
	background: var(--forest-deep, #102b22);
	padding: 2.15rem 0 2.35rem;
}
.clp-mission-strip__sep {
	position: absolute;
	left: 0;
	top: 100%;
	width: 100%;
	margin-top: var(--clp-separator-margin, -2px);
	line-height: 0;
	pointer-events: none;
	z-index: 2;
}
.clp-mission-strip__sep img {
	display: block;
	width: 100%;
	height: 5rem;
	max-width: none;
	object-fit: fill;
	transform: scaleY(-1);
}
.clp-mission-strip__inner {
	position: relative;
	z-index: 1;
	padding-right: clamp(7.5rem, 22vw, 16.5rem);
}
.clp-mission-strip__heading {
	margin: 0 0 1.35rem;
	text-align: center;
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(1.05rem, 2.1vw, 1.42rem);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #fff;
	line-height: 1.2;
}
.clp-mission-strip__cols {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: start;
}
.clp-mission-strip__col {
	text-align: center;
	padding: 0 1rem;
	border-left: 1px solid color-mix(in srgb, #fff 38%, transparent);
}
.clp-mission-strip__col:first-child {
	border-left: 0;
	padding-left: 0;
}
.clp-mission-strip__icon {
	width: auto;
	height: auto;
	margin: 0 auto .65rem;
	border: 0;
	border-radius: 0;
	background: none;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}
.clp-mission-strip__icon .clp-trust__svg,
.clp-mission-strip__icon svg {
	width: 1.85rem;
	height: 1.85rem;
	stroke: currentColor;
	stroke-width: 1.7;
}
.clp-mission-strip__icon .clp-trust__icon {
	width: auto;
	height: auto;
	background: none;
	border: 0;
	padding: 0;
	display: flex;
	color: inherit;
}
.clp-mission-strip__col p {
	margin: 0;
	font-family: var(--font-body);
	font-size: .82rem;
	line-height: 1.32;
	font-weight: 400;
	color: #fff;
}
.clp-mission-strip__polaroid {
	position: absolute;
	right: max(1.15rem, calc((100vw - var(--maxw, 72rem)) / 2 + .15rem));
	top: 50%;
	transform: translateY(-50%) rotate(8deg);
	width: min(13.4rem, 20.5vw);
	max-width: 14.5rem;
	margin: 0;
	padding: .5rem .5rem .7rem;
	background: #fffdf8;
	box-shadow: 0 14px 32px color-mix(in srgb, #000 26%, transparent);
	z-index: 6;
}
.clp-mission-strip__polaroid img,
.clp-mission-strip__polaroid .clp-ph {
	aspect-ratio: 1 / 1.08;
	width: 100%;
	object-fit: cover;
	object-position: center 32%;
	display: block;
	border-radius: 0;
}
.clp-polaroid__tape {
	position: absolute;
	width: 3.15rem;
	height: .95rem;
	background: color-mix(in srgb, #d8c7a2 72%, transparent);
	box-shadow: 0 1px 3px rgb(0 0 0 / 14%);
	z-index: 3;
	pointer-events: none;
}
.clp-polaroid__tape--tl { top: -.32rem; left: 10%; transform: rotate(-18deg); }
.clp-polaroid__tape--tr { display: none; }
.clp-polaroid__tape--bl { display: none; }
.clp-polaroid__tape--br { bottom: -.18rem; right: 10%; transform: rotate(-22deg); }
.clp-mission-strip .clp-polaroid__note {
	position: static;
	left: auto;
	right: auto;
	bottom: auto;
	margin: .7rem .15rem .2rem;
	padding: 0;
	font-family: var(--font-script);
	font-size: .95rem;
	line-height: 1.22;
	color: #3a332c;
	transform: rotate(-1.5deg);
	text-align: center;
}
.clp-polaroid__heart {
	display: inline-block;
	width: .9rem;
	height: .8rem;
	color: var(--gold);
	vertical-align: -0.05em;
	margin-left: .15em;
}
.clp-polaroid__heart svg {
	width: 100%;
	height: auto;
}
@media (max-width: 899px) {
	.clp-mission-strip,
	body.clp-theme .clp-mission-strip {
		padding: 1.5rem 0 1.75rem !important;
		margin-top: -1.5rem !important;
		margin-block-start: -1.5rem !important;
	}
	.clp-mission-strip__bar {
		padding: 2.1rem 0 2.3rem;
	}
	.clp-mission-strip__inner {
		padding-right: 0;
	}
	.clp-mission-strip__cols {
		grid-template-columns: 1fr 1fr;
		gap: 1.25rem 0;
	}
	.clp-mission-strip__col:nth-child(3) {
		border-left: 0;
		padding-left: 0;
	}
	.clp-mission-strip__polaroid {
		position: relative;
		right: auto;
		top: auto;
		transform: rotate(7deg);
		width: min(15rem, 70vw);
		margin: 1.6rem auto -1.25rem;
	}
}
@media (max-width: 520px) {
	.clp-mission-strip__cols {
		grid-template-columns: 1fr;
	}
	.clp-mission-strip__col {
		border-left: 0;
		padding: 0 0 1rem;
		border-bottom: 1px solid color-mix(in srgb, #fff 18%, transparent);
	}
	.clp-mission-strip__col:last-child {
		border-bottom: 0;
		padding-bottom: 0;
	}
}

/* Products — Wybierz coś pięknego */
.clp-products--mission {
	background: var(--bg);
	padding-block: 3.15rem 4rem;
	position: relative;
	z-index: 1;
	overflow: visible;
}
.clp-products__scene {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}
.clp-products__scene img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}
.clp-products__scene::after {
	content: "";
	position: absolute;
	inset: 0;
	background: color-mix(in srgb, var(--bg) 78%, transparent);
}
.clp-products__decor {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}
.clp-products__decor .clp-hero-mission__spark--a { left: 3%; top: 8%; }
.clp-products__decor .clp-hero-mission__spark--b { left: auto; right: 6%; top: 4%; }
.clp-products__decor .clp-hero-mission__spark--c { left: 8%; bottom: 12%; top: auto; }
.clp-products__decor .clp-hero-mission__spark--d { left: auto; right: 10%; top: auto; bottom: 18%; }
.clp-products__decor .clp-hero-mission__spark img,
.clp-products__decor .clp-hero-mission__spark svg {
	width: 100%;
	height: auto;
	display: block;
	color: var(--gold);
}
.clp-products--mission > .clp-container {
	position: relative;
	z-index: 2;
}
.clp-products__heading {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.1rem;
	margin: 0 0 2.4rem;
	font-family: var(--font-display);
	font-size: clamp(1.45rem, 3.1vw, 2.15rem);
	font-weight: 500;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-align: center;
	color: var(--text);
	line-height: 1.15;
}
.clp-products__heading:has(+ .clp-products__kicker) {
	margin-bottom: .2rem;
}
.clp-products__heading-text {
	max-width: 18ch;
}
.clp-products__arrow {
	width: 2.85rem;
	height: 1.15rem;
	color: var(--gold);
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	line-height: 0;
}
.clp-products__arrow svg {
	width: 100%;
	height: 100%;
	display: block;
}
.clp-products__arrow--right {
	transform: scaleX(-1);
}
.clp-products .clp-script,
.clp-products__kicker {
	font-family: var(--font-script);
	font-size: 1.6rem;
	color: var(--accent);
	margin: -.8rem 0 2rem;
	text-align: center;
}
.clp-products__grid {
	display: grid;
	gap: 1.5rem;
	list-style: none;
	padding: 0;
	margin: 0;
}
.clp-product-card {
	background: var(--surface);
	border: 0;
	box-shadow: 0 12px 32px color-mix(in srgb, var(--text) 7%, transparent);
	padding: 0;
	overflow: hidden;
	gap: 0;
	display: flex;
	flex-direction: column;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
}
.clp-product-card__media {
	position: relative;
	display: block;
	overflow: hidden;
}
.clp-product-card__media,
.clp-product-card__media img,
.clp-product-card__media .clp-ph {
	border-radius: 0;
	aspect-ratio: 1;
	width: 100%;
	object-fit: cover;
}
.clp-product-card__media .onsale {
	position: absolute;
	top: .75rem;
	left: .75rem;
	z-index: 1;
}
.clp-product-card__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: .35rem;
	padding: 1.1rem 1.15rem 1.25rem;
	flex: 1;
}
.clp-product-card__title {
	padding: 0;
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.28rem;
	font-weight: 500;
	line-height: 1.25;
	width: 100%;
	text-align: center;
}
.clp-product-card__title a {
	color: inherit;
}
.clp-product-card__price {
	padding: 0;
	color: var(--text-muted);
	font-size: .98rem;
	margin-bottom: .35rem;
	text-align: center;
	width: 100%;
}
.clp-product-card .clp-btn {
	margin: auto 0 0;
	align-self: stretch;
	justify-content: center;
}
@media (min-width: 640px) {
	.clp-products__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 900px) {
	.clp-products .clp-products__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		max-width: 72rem;
		margin-inline: auto;
	}
}
@media (max-width: 639px) {
	.clp-products__heading {
		flex-wrap: wrap;
		gap: .45rem .8rem;
	}
}

/* Impact split (photo-overlay) */
.clp-impact.clp-overlay--split,
.wp-block-centaurus-lp-photo-overlay.clp-overlay--split {
	position: relative;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(15rem, 28%);
	min-height: 22.5rem;
	background: var(--bg);
	text-align: center;
	overflow: hidden;
	align-items: stretch;
}
.clp-impact__sep {
	position: absolute;
	left: 0;
	top: var(--clp-separator-margin, 0px);
	width: 100%;
	z-index: 4;
	line-height: 0;
	pointer-events: none;
}
.clp-impact__sep img {
	display: block;
	width: 100%;
	height: 5rem;
	max-width: none;
	object-fit: fill;
	transform: scaleY(-1);
}
.clp-impact .clp-overlay__bg,
.clp-impact .clp-overlay__shade {
	display: none;
}
.clp-impact__panel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(11rem, .78fr) minmax(16rem, 1.15fr);
	grid-template-areas: "photo copy";
	background: linear-gradient(90deg, var(--clp-panel, #102b22) 0, var(--clp-panel, #102b22) calc(100% - 5.25rem), transparent calc(100% - 4.25rem));
	color: #fff;
	z-index: 1;
	overflow: visible;
}
.clp-impact__photo {
	position: relative;
	overflow: hidden;
	min-height: 16rem;
	background: var(--clp-panel, #102b22);
	grid-area: photo;
	isolation: isolate;
}
.clp-impact--gallery .clp-impact__photo {
	/* Thumbs mogą wystawać; samo zdjęcie tła trzymamy w clipie poniżej. */
	overflow: visible;
}
.clp-impact__photo img,
.clp-impact__photo .clp-ph {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 30% center;
	display: block;
	/* Skala hover nie wychodzi poza ramkę — bez „uciekania” kremowego tła. */
	clip-path: inset(0);
	transform-origin: center center;
}
.clp-impact:not(.clp-impact--flip) .clp-impact__photo {
	margin-right: -2.25rem;
	width: calc(100% + 2.25rem);
	z-index: 1;
}
.clp-impact__photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent 28%, var(--clp-panel, #102b22) 94%);
	pointer-events: none;
}
.clp-impact__hearts {
	position: absolute;
	right: 8%;
	bottom: 18%;
	z-index: 2;
	color: var(--gold);
	pointer-events: none;
}
.clp-impact__heart {
	display: block;
	width: 1.85rem;
	line-height: 0;
}
.clp-impact__heart svg,
.clp-impact__heart img,
.clp-impact__badge-ring img,
.clp-impact__arrow img {
	width: 100%;
	height: auto;
	display: block;
}
.clp-impact__heart--a {
	transform: rotate(-16deg);
	opacity: .92;
}
.clp-impact__heart--b {
	width: 1.35rem;
	margin: .15rem 0 0 1.05rem;
	transform: rotate(12deg);
	opacity: .7;
}
.clp-impact__copy {
	position: relative;
	/* nad postrzępioną krawędzią (.clp-impact__tear, z-index 3), żeby jej nie zasłaniała tekstu */
	z-index: 4;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 2.4rem 5.5rem 2.5rem 1.25rem;
	max-width: none;
	grid-area: copy;
}
.clp-impact__title {
	margin: 0 0 .85rem;
	color: #fff;
	font-family: var(--font-body);
	font-size: clamp(1.28rem, 2.4vw, 1.9rem);
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	line-height: 1.18;
	max-width: 22ch;
}
.clp-impact__lead {
	margin: 0 0 1.35rem;
	max-width: 42ch;
	color: color-mix(in srgb, #fff 88%, transparent);
	font-family: var(--font-body);
	font-size: .92rem;
	font-weight: 400;
	line-height: 1.5;
	text-transform: none;
	letter-spacing: 0;
	white-space: pre-line;
}
.clp-impact__lead p {
	margin: 0 0 .7rem;
}
.clp-impact__lead p:last-child {
	margin-bottom: 0;
}
.clp-impact__thumbs {
	position: absolute;
	left: 6%;
	bottom: 8%;
	z-index: 4;
	display: flex;
	align-items: flex-end;
	gap: .45rem;
	pointer-events: none;
}
.clp-impact__thumb {
	width: 5.35rem;
	max-width: 5.35rem;
	padding: .28rem .28rem 1.05rem;
	margin: 0;
	transform: rotate(-7deg);
	box-shadow: 0 10px 22px color-mix(in srgb, #000 38%, transparent);
	pointer-events: auto;
}
.clp-impact__thumb:nth-child(2) {
	transform: rotate(8deg);
	margin-bottom: .35rem;
}
.clp-impact__thumb img,
.clp-impact__thumb .clp-ph {
	position: static;
	inset: auto;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	display: block;
}
.clp-impact__copy .clp-btn--gold {
	color: #fff !important;
	background: var(--gold);
	min-height: 3.15rem;
	padding-inline: 1.5rem;
}
.clp-impact__copy .clp-btn--gold:hover {
	color: #fff !important;
	background: color-mix(in srgb, var(--gold) 82%, #000);
}
.clp-impact__tear {
	position: absolute;
	top: 0;
	bottom: 0;
	right: -5rem;
	width: 16rem;
	pointer-events: none;
	z-index: 3;
	overflow: visible;
}
.clp-impact__tear img {
	width: 100%;
	height: 100%;
	max-width: none;
	display: block;
	object-fit: fill;
	object-position: right center;
}
.clp-impact__aside {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 2rem 1.25rem 2.4rem;
	background: transparent;
	z-index: 2;
}
.clp-impact__badge {
	position: relative;
	width: 10.75rem;
	height: 10.75rem;
	color: var(--gold);
	display: flex;
	align-items: center;
	justify-content: center;
	transform: rotate(-8deg);
}
.clp-impact__badge-ring {
	position: absolute;
	inset: 0;
}
.clp-impact__badge-ring svg {
	width: 100%;
	height: 100%;
	display: block;
}
.clp-impact__badge-copy {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	max-width: 6.8rem;
	color: var(--gold);
}
.clp-impact__badge-copy strong {
	font-family: var(--font-body);
	font-size: 1.85rem;
	font-weight: 800;
	letter-spacing: .02em;
	line-height: 1;
}
.clp-impact__badge-copy em {
	font-family: var(--font-script);
	font-style: normal;
	font-size: 1.18rem;
	line-height: 1.12;
	margin-top: .15rem;
}
.clp-impact__arrow {
	width: 4.6rem;
	color: var(--gold);
	margin: .15rem 1.8rem 0 0;
	transform: rotate(8deg);
}
.clp-impact__arrow svg {
	width: 100%;
	height: auto;
	display: block;
}

/* Lustrzana kopia: stempel | tekst | zdjęcie */
.clp-impact.clp-overlay--split.clp-impact--flip,
.wp-block-centaurus-lp-photo-overlay.clp-overlay--split.clp-impact--flip {
	grid-template-columns: minmax(15rem, 28%) minmax(0, 1fr) !important;
}
.clp-impact--flip .clp-impact__aside {
	order: -1;
	justify-self: stretch;
	width: auto;
	padding-inline: 1.25rem;
}
.clp-impact--flip .clp-impact__sep img {
	transform: scaleY(-1) scaleX(-1);
}
.clp-impact--flip .clp-impact__panel {
	grid-template-columns: minmax(16rem, 1.15fr) minmax(11rem, .78fr);
	grid-template-areas: "copy photo";
	background: linear-gradient(90deg, transparent 0, transparent 4.25rem, var(--clp-panel, #102b22) 5.25rem, var(--clp-panel, #102b22) 100%);
	min-width: 0;
}
.clp-impact--flip .clp-impact__copy {
	padding: 2.4rem 1.25rem 2.5rem 5.5rem;
}
.clp-impact--flip .clp-impact__photo {
	margin-left: -2.25rem;
	width: calc(100% + 2.25rem);
	z-index: 1;
}
.clp-impact--flip .clp-impact__photo img,
.clp-impact--flip .clp-impact__photo .clp-ph {
	object-position: 70% center;
}
.clp-impact--flip .clp-impact__photo::after {
	background: linear-gradient(90deg, var(--clp-panel, #102b22) 0%, var(--clp-panel, #102b22) 8%, transparent 58%);
}
.clp-impact--flip .clp-impact__hearts {
	right: auto;
	left: 8%;
}
.clp-impact--flip .clp-impact__heart--b {
	margin: .15rem 1.05rem 0 0;
}
.clp-impact--flip .clp-impact__thumbs {
	left: auto;
	right: 6%;
}
.clp-impact--flip .clp-impact__tear {
	right: auto;
	left: -5rem;
}
.clp-impact--flip .clp-impact__tear img {
	transform: scaleX(-1);
	transform-origin: center;
	object-position: right center;
}
.clp-impact--flip .clp-impact__badge {
	transform: rotate(8deg);
}
.clp-impact--flip .clp-impact__arrow {
	margin: .15rem 0 0 1.8rem;
	transform: rotate(-8deg) scaleX(-1);
}
@media (max-width: 899px) {
	.clp-impact.clp-overlay--split,
	.wp-block-centaurus-lp-photo-overlay.clp-overlay--split,
	.clp-impact.clp-overlay--split.clp-impact--flip,
	.wp-block-centaurus-lp-photo-overlay.clp-overlay--split.clp-impact--flip {
		display: flex !important;
		flex-direction: column !important;
		grid-template-columns: none !important;
		overflow: hidden;
	}
	.clp-impact__sep,
	.clp-impact__tear,
	.clp-impact > .clp-block-separator,
	.wp-block-centaurus-lp-photo-overlay > .clp-block-separator {
		display: none !important;
	}
	.clp-impact__panel,
	.clp-impact--flip .clp-impact__panel {
		display: flex !important;
		flex-direction: column !important;
		grid-template-columns: none !important;
		grid-template-areas: none !important;
		width: 100%;
		background: var(--clp-panel, #102b22) !important;
	}
	.clp-impact__photo,
	.clp-impact--flip .clp-impact__photo {
		position: relative;
		order: 1;
		min-height: 0;
		aspect-ratio: 4 / 5;
		margin: 0 !important;
		width: 100% !important;
		overflow: hidden;
	}
	.clp-impact--gallery .clp-impact__photo {
		overflow: hidden;
	}
	.clp-impact__photo img,
	.clp-impact__photo .clp-ph,
	.clp-impact--flip .clp-impact__photo img,
	.clp-impact--flip .clp-impact__photo .clp-ph {
		object-position: center 18%;
	}
	.clp-impact__photo::after,
	.clp-impact--flip .clp-impact__photo::after {
		background: linear-gradient(180deg, transparent 55%, var(--clp-panel, #102b22) 100%);
	}
	.clp-impact__copy,
	.clp-impact--flip .clp-impact__copy {
		order: 2;
		padding: 1.25rem 1.35rem 2.25rem;
		align-items: center;
		text-align: center;
	}
	.clp-impact__title {
		font-size: clamp(1.15rem, 5.2vw, 1.45rem);
		margin-bottom: .7rem;
		max-width: 18ch;
	}
	.clp-impact__lead {
		margin-bottom: 1.2rem;
		font-size: .88rem;
		line-height: 1.48;
		max-width: 36ch;
	}
	.clp-impact__copy .clp-btn--gold {
		width: 100%;
		max-width: 18.5rem;
		justify-content: center;
	}
	.clp-impact__thumbs,
	.clp-impact--flip .clp-impact__thumbs {
		left: .7rem;
		right: auto;
		bottom: .85rem;
		gap: .35rem;
	}
	.clp-impact__thumb {
		width: 3.65rem;
		max-width: 3.65rem;
		padding: .22rem .22rem .85rem;
	}
	.clp-impact__hearts,
	.clp-impact--flip .clp-impact__hearts {
		right: 5%;
		left: auto;
		bottom: 12%;
	}
	.clp-impact__heart--a { width: 1.45rem; }
	.clp-impact__heart--b { width: 1.05rem; }
	.clp-impact__aside,
	.clp-impact--flip .clp-impact__aside {
		order: 3;
		width: 100%;
		padding: 1.75rem 1.25rem 2.1rem;
		align-items: center;
	}
	.clp-impact__badge {
		width: 9.5rem;
		height: 9.5rem;
		transform: rotate(-6deg);
	}
	.clp-impact--flip .clp-impact__badge {
		transform: rotate(6deg);
	}
	.clp-impact__arrow,
	.clp-impact--flip .clp-impact__arrow {
		margin: .35rem 0 0;
		transform: rotate(12deg);
	}
}

/* Stats */
.clp-stats {
	position: relative;
	overflow: hidden;
	background: #ebe3d6;
	text-align: center;
	padding-block: 4.1rem 3.6rem;
}
.clp-stats__scene {
	position: absolute;
	right: -1.5%;
	bottom: 6%;
	width: min(42%, 30rem);
	pointer-events: none;
	z-index: 0;
	opacity: .34;
	color: var(--gold);
}
.clp-stats__scene svg,
.clp-stats__scene img {
	display: block;
	width: 100%;
	height: auto;
}
.clp-stats .clp-container {
	position: relative;
	z-index: 1;
}
.clp-stats h2 {
	font-family: var(--font-display);
	font-size: clamp(1.45rem, 2.8vw, 2.15rem);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .03em;
	line-height: 1.25;
	color: #1b1b1b;
	margin: 0 0 2.55rem;
}
.clp-stats--story h2 {
	margin-bottom: .85rem;
}
.clp-stats__lead,
.clp-stats__closing {
	max-width: 42rem;
	margin: 0 auto 2rem;
	font-size: 1.02rem;
	line-height: 1.55;
	color: #2c2c2c;
	white-space: pre-line;
}
.clp-stats__lead p {
	margin: 0 0 .7rem;
}
.clp-stats__lead p:last-child {
	margin-bottom: 0;
}
.clp-stats__closing {
	margin: 1.85rem auto .95rem;
	font-weight: 500;
}
.clp-stats--story .clp-stats__cta {
	grid-column: 1 / -1;
	justify-self: center;
	margin-top: .15rem;
	text-align: center;
}
.clp-stats__grid {
	display: grid;
	gap: 1.7rem 2rem;
	align-items: center;
	margin: 0;
	text-align: left;
}
.clp-stat {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: .85rem;
	min-width: 0;
}
.clp-stat__icon {
	flex: 0 0 3.05rem;
	width: 3.05rem;
	height: 2.8rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--gold);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.clp-stat__icon svg,
.clp-stat__icon img,
.clp-stat__icon .clp-trust__svg {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
}
.clp-stat__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .18rem;
	min-width: 0;
}
.clp-stat strong {
	font-family: var(--font-body);
	font-size: clamp(1.7rem, 2.6vw, 2.25rem);
	font-weight: 800;
	line-height: 1;
	color: #1a1a1a;
	letter-spacing: -.02em;
}
.clp-stat__copy span {
	color: #2c2c2c;
	font-size: .82rem;
	font-weight: 400;
	line-height: 1.35;
}
.clp-stats__cta {
	margin: 0;
	justify-self: start;
}
.clp-stats .clp-btn {
	background: var(--forest-deep, #102b22);
	color: #fff !important;
	white-space: nowrap;
	border: 0;
	padding: .95rem 1.35rem;
}
.clp-stats .clp-btn:hover {
	background: color-mix(in srgb, var(--forest-deep, #102b22) 86%, #000);
	color: #fff !important;
}
@media (min-width: 700px) {
	.clp-stats__grid {
		grid-template-columns: 1fr 1fr;
	}
	.clp-stats__cta {
		grid-column: 1 / -1;
		justify-self: center;
	}
}
@media (min-width: 1020px) {
	.clp-stats__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) minmax(0, 1.2fr) auto;
		gap: 1.5rem 1.6rem;
	}
	.clp-stats__cta {
		grid-column: auto;
		justify-self: end;
	}
	.clp-stats--story .clp-stats__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		text-align: left;
		max-width: 58rem;
		margin-inline: auto;
	}
	.clp-stats--story .clp-stats__cta {
		grid-column: 1 / -1;
		justify-self: center;
	}
}
@media (max-width: 699px) {
	.clp-stats__scene {
		opacity: .16;
		width: 72%;
	}
	.clp-stats h2 {
		margin-bottom: 1.75rem;
	}
}

/* Newsletter — pasek zapisu */
.clp-newsletter {
	position: relative;
}
.clp-newsletter h2 {
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	font-family: var(--font-stamp);
	font-weight: 400;
}
.clp-newsletter--inline .clp-newsletter__panel {
	position: relative;
}
.clp-newsletter--split {
	background: #ebe3d6;
	text-align: left;
	overflow: visible;
	padding-block: 3.15rem 3.4rem;
}
.clp-newsletter--split .clp-heart-float {
	display: none;
}
.clp-newsletter__sep {
	display: none;
}
.clp-newsletter--split .clp-newsletter__sep {
	display: block;
	position: absolute;
	left: 0;
	top: var(--clp-separator-margin, 0px);
	width: 100%;
	line-height: 0;
	transform: translateY(-76%);
	pointer-events: none;
	z-index: 2;
}
.clp-newsletter--split .clp-newsletter__sep img {
	display: block;
	width: 100%;
	height: 5rem;
	max-width: none;
	object-fit: fill;
}
.clp-newsletter--split .clp-newsletter__panel {
	display: grid;
	gap: 1.35rem 2.25rem;
	align-items: center;
}
@media (min-width: 900px) {
	.clp-newsletter--split .clp-newsletter__panel {
		grid-template-columns: minmax(15rem, .88fr) minmax(22rem, 1.2fr);
	}
}
/* Nagłówek jak w hero: font stemplowy (Rubik Dirt) */
.clp-newsletter--split h2 {
	margin: 0 0 .55rem;
	color: var(--text);
	font-family: var(--font-stamp);
	font-size: clamp(1.55rem, 2.6vw, 2.15rem);
	font-weight: 400;
	letter-spacing: .01em;
	line-height: 1.1;
	text-transform: uppercase;
}
.clp-newsletter h2 em,
.clp-newsletter--split h2 em {
	font-style: normal;
	color: var(--gold);
}
.clp-newsletter--split .clp-newsletter__text {
	margin: 0;
	max-width: 42ch;
	color: color-mix(in srgb, var(--text) 72%, transparent);
	font-size: .95rem;
	font-weight: 400;
	line-height: 1.45;
}
.clp-newsletter--split .clp-newsletter__form-wrap {
	display: flex;
	align-items: center;
	gap: .9rem;
	min-width: 0;
	width: 100%;
}
.clp-newsletter--split .wpcf7,
.clp-newsletter--split .wpcf7-form {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	width: 100%;
}
.clp-newsletter--split .clp-newsletter__form,
.clp-newsletter--split .clp-newsletter__fields {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: stretch;
	gap: 0;
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
}
.clp-newsletter--split .wpcf7-form-control-wrap {
	display: block;
	min-width: 0;
}
/* CF7 owija pole i przycisk w jeden <p> z <br> — rozbijamy to na komórki siatki */
.clp-newsletter .clp-newsletter__fields > p,
.clp-newsletter .wpcf7-form > p {
	display: contents;
}
.clp-newsletter .clp-newsletter__fields br,
.clp-newsletter .wpcf7-form br {
	display: none;
}
.clp-newsletter--split .wpcf7-spinner {
	position: absolute;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}
.clp-newsletter .wpcf7-response-output:empty {
	display: none;
}
.clp-newsletter--split .clp-newsletter__form,
.clp-newsletter--split .clp-newsletter__fields {
	position: relative;
}
.clp-newsletter--split input[type="email"],
.clp-newsletter--split input.wpcf7-email,
.clp-newsletter--split input.wpcf7-text {
	display: block;
	width: 100%;
	flex: none;
	border: 0;
	border-radius: 4px 0 0 4px;
	background: #fff;
	height: 3.25rem;
	min-height: 3.25rem;
	padding: 0 1.15rem;
	line-height: 3.25rem;
	box-shadow: none;
	box-sizing: border-box;
}
.clp-newsletter--split .clp-btn,
.clp-newsletter--split [type="submit"],
.clp-newsletter--split input.wpcf7-submit,
.clp-newsletter--split .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 0 4px 4px 0;
	background: var(--forest-deep, #102b22);
	color: #fff !important;
	height: 3.25rem;
	min-height: 3.25rem;
	padding: 0 1.45rem;
	line-height: 1;
	white-space: nowrap;
	box-sizing: border-box;
}
.clp-newsletter--split .clp-btn:hover,
.clp-newsletter--split [type="submit"]:hover,
.clp-newsletter--split .wpcf7-submit:hover {
	background: color-mix(in srgb, var(--forest-deep, #102b22) 86%, #000);
	color: #fff !important;
	transform: none;
}
.clp-newsletter__heart {
	display: none;
}
.clp-newsletter--split .clp-newsletter__heart {
	display: block;
	flex-shrink: 0;
	width: 2.55rem;
	height: 2.35rem;
	background: var(--gold);
	-webkit-mask: url("../img/heart-outline.svg") center / contain no-repeat;
	mask: url("../img/heart-outline.svg") center / contain no-repeat;
	transform: rotate(-8deg);
}
.clp-newsletter--split .clp-newsletter__heart svg,
.clp-newsletter--split .clp-newsletter__heart img {
	display: none;
}
.clp-newsletter__thanks {
	margin: 0;
	color: var(--text);
	font-weight: 600;
}
.clp-newsletter__legal,
.clp-popup .clp-newsletter__legal {
	margin: .7rem 0 0;
	font-size: .78rem;
	line-height: 1.45;
	opacity: .78;
}
.clp-newsletter__legal a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.clp-confirm {
	max-width: 40rem;
	margin: 0 auto;
	text-align: center;
	padding: 1rem 0 2rem;
}
.clp-confirm__kicker {
	margin: 0 0 .6rem;
	color: var(--gold, #C9A66B);
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	font-size: .82rem;
}
.clp-confirm .clp-page-title {
	font-size: clamp(1.35rem, 2.4vw, 1.85rem);
	line-height: 1.35;
}
.clp-confirm__legal {
	margin: 1rem 0 0;
}
.clp-confirm__actions {
	margin: 1.6rem 0 0;
}
@media (max-width: 699px) {
	.clp-stats {
		padding-bottom: 2.5rem;
	}
	.clp-newsletter--split .clp-newsletter__sep {
		display: none !important;
	}
	.clp-newsletter--split {
		padding-inline: 1.15rem;
	}
	.clp-newsletter--split .clp-newsletter__form-wrap {
		width: 100%;
		flex-wrap: wrap;
	}
	.clp-newsletter--split .clp-newsletter__form,
	.clp-newsletter--split .clp-newsletter__fields {
		grid-template-columns: 1fr;
		flex: 1 1 100%;
		width: 100%;
		gap: .5rem;
	}
	.clp-newsletter--split input[type="email"],
	.clp-newsletter--split input.wpcf7-email,
	.clp-newsletter--split input.wpcf7-text {
		border-radius: 4px;
	}
	.clp-newsletter--split .clp-btn,
	.clp-newsletter--split [type="submit"],
	.clp-newsletter--split input.wpcf7-submit,
	.clp-newsletter--split .wpcf7-submit {
		border-radius: 4px;
		width: 100%;
	}
}

/* Footer — las jak Wilderra: zdjęcie, overlay, separator */
.clp-footer {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin-top: 0;
	border-top: 0;
	background-color: #0a1810;
	background-image: url("../img/footer-bg.jpg");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	color: color-mix(in srgb, var(--footer-text, #F6F3EC) 78%, transparent);
}
.clp-footer.clp-tone-forest {
	background-color: #0a1810;
	background-image: url("../img/footer-bg.jpg");
	color: color-mix(in srgb, var(--footer-text, #F6F3EC) 78%, transparent);
}
.clp-footer::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 0;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgba(8, 18, 12, .28) 0%,
		rgba(10, 24, 16, .52) 38%,
		rgba(6, 14, 10, .78) 72%,
		rgba(4, 8, 6, .92) 100%
	);
}
.clp-footer.clp-has-custom-separators::after {
	top: 0;
}
.clp-footer__sep {
	position: relative;
	z-index: 2;
	width: 100%;
	margin-left: 0;
	margin-top: calc(-2px + var(--clp-separator-margin, 0px));
	line-height: 0;
	pointer-events: none;
	overflow: hidden;
}
.clp-footer__sep img {
	display: block;
	width: 100%;
	height: 5rem;
	max-width: none;
	object-fit: fill;
	transform: scaleY(-1);
}
.clp-footer .clp-trees {
	display: none;
}
.clp-footer__body {
	position: relative;
	z-index: 1;
	padding: 200px 0 2rem;
}
.clp-footer__grid {
	gap: 2.75rem;
	padding: 0 0 2.75rem;
	border-bottom: 1px solid color-mix(in srgb, var(--footer-text, #F6F3EC) 14%, transparent);
}
@media (min-width: 768px) {
	.clp-footer__grid {
		grid-template-columns: 1.5fr 1fr 1fr 1fr;
	}
}
.clp-footer .clp-logo,
.clp-footer h2 {
	color: var(--footer-text, #F6F3EC);
	margin: 0;
}
.clp-footer .clp-logo {
	font-size: 1.65rem;
}
.clp-footer__logo {
	display: inline-block;
	max-width: 100%;
	margin: 0 0 1.1rem;
	line-height: 0;
}
.clp-footer__logo img {
	display: block;
	width: var(--clp-footer-logo-w, 180px);
	max-width: 100%;
	height: auto;
}
.clp-footer__brandbar {
	display: flex;
	justify-content: center;
	padding: 0 0 2.4rem;
}
.clp-footer__brandbar .clp-footer__logo,
.clp-footer__legal .clp-footer__logo {
	margin: 0;
}
.clp-footer__legal .clp-footer__logo {
	flex: 0 0 auto;
	margin-right: auto;
}
.clp-footer__heading {
	margin: 0 0 .9rem;
	color: var(--gold);
	font-family: var(--font-body);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.clp-footer__contact {
	max-width: 22rem;
	line-height: 1.55;
}
.clp-footer p,
.clp-footer li,
.clp-footer a {
	color: color-mix(in srgb, var(--footer-text, #F6F3EC) 78%, transparent);
}
.clp-footer p {
	margin: 1rem 0 0;
	max-width: 28ch;
	font-size: .875rem;
	font-weight: 300;
}
.clp-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.clp-footer a {
	transition: color .25s, padding-left .25s;
}
.clp-footer ul a:hover {
	color: var(--footer-text, #F6F3EC);
	padding-left: 6px;
}
.clp-footer a:hover { color: var(--gold); }
.clp-footer__legal {
	border-top: 0;
	padding: 1.35rem 0 0;
	font-size: .75rem;
	display: flex;
	flex-wrap: wrap;
	gap: .75rem 1.5rem;
	justify-content: space-between;
	align-items: flex-start;
	color: color-mix(in srgb, var(--footer-text, #F6F3EC) 50%, transparent);
}
.clp-footer__legal-links {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0 .15rem;
	justify-content: flex-end;
	max-width: none;
	text-align: right;
	line-height: 1.4;
	white-space: nowrap;
}
.clp-footer__legal-links a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: .12em;
	text-decoration-color: color-mix(in srgb, currentColor 35%, transparent);
	white-space: nowrap;
}
.clp-footer__legal-links a:hover {
	color: var(--gold);
	padding-left: 0;
	text-decoration-color: currentColor;
}
.clp-footer__legal-sep {
	opacity: .55;
	user-select: none;
	flex-shrink: 0;
}
@media (max-width: 767px) {
	.clp-footer__legal {
		flex-direction: column;
		align-items: flex-start;
		gap: .85rem;
		padding: 1.25rem 0 0;
		width: 100%;
	}
	.clp-footer__legal-links {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: flex-start;
		gap: .55rem;
		width: 100%;
		max-width: 100%;
		text-align: left;
		white-space: normal;
		overflow: visible;
		padding: 0;
		line-height: 1.45;
	}
	.clp-footer__legal-links a {
		display: block;
		white-space: normal;
		padding: .1rem 0;
	}
	.clp-footer__legal-sep {
		display: none;
	}
}
@media (max-width: 767px) {
	.clp-footer::after {
		top: 0;
		/* Silniejszy overlay — tekst czytelny na tle lasu */
		background:
			linear-gradient(
				180deg,
				rgba(4, 10, 7, .55) 0%,
				rgba(4, 10, 7, .72) 28%,
				rgba(3, 8, 5, .88) 62%,
				rgba(2, 6, 4, .96) 100%
			);
	}
	.clp-footer__sep img {
		height: 4.25rem;
	}
	.clp-footer__body {
		/* Zapas pod cookies + back-to-top */
		padding: 2.5rem 0 calc(5.5rem + env(safe-area-inset-bottom, 0px));
	}
	.clp-footer {
		color: color-mix(in srgb, var(--footer-text, #F6F3EC) 92%, transparent);
	}
	.clp-footer p,
	.clp-footer li,
	.clp-footer a,
	.clp-footer__legal,
	.clp-footer__legal-links a {
		color: color-mix(in srgb, var(--footer-text, #F6F3EC) 88%, transparent);
	}
	.clp-footer__heading,
	.clp-footer .clp-logo,
	.clp-footer h2 {
		color: var(--footer-text, #F6F3EC);
	}
}
.clp-footer__social {
	display: flex;
	gap: .5rem;
	margin-top: 1rem;
}
.clp-footer .clp-icon-btn {
	color: var(--footer-text);
	border: 1px solid color-mix(in srgb, var(--footer-text) 22%, transparent);
}
.clp-footer .clp-icon-btn:hover {
	background: color-mix(in srgb, var(--footer-text) 10%, transparent);
	color: var(--gold);
}

.wp-block-centaurus-lp-impact-stats .clp-container {
	width: min(100% - 3rem, var(--maxw));
}

/* Wideo — tytuł z grafiką + film na środku */
.clp-video {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	text-align: center;
}
.clp-video--cream { background: #ebe3d6; }
.clp-video--sand { background: var(--bg); }
.clp-video--forest {
	background: var(--forest-deep, #102b22);
	color: #fff;
}
.clp-video--none { background: transparent; }
.clp-video__bg,
.clp-video__shade {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
}
.clp-video__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.clp-video__shade {
	background: color-mix(in srgb, #0a1810 calc(var(--clp-video-overlay, .45) * 100%), transparent);
}
.clp-video--has-bg,
.clp-video--has-bg .clp-video__title,
.clp-video--has-bg .clp-video__lead,
.clp-video--has-bg .clp-video__caption {
	color: #fff;
}
.clp-video__decor {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}
.clp-video__decor .clp-hero-mission__spark--a { left: 5%; top: 12%; }
.clp-video__decor .clp-hero-mission__spark--b { left: auto; right: 7%; top: 8%; }
.clp-video__decor .clp-hero-mission__spark--c { left: 9%; bottom: 14%; top: auto; }
.clp-video__decor .clp-hero-mission__spark--d { left: auto; right: 11%; top: auto; bottom: 20%; }
.clp-video__decor .clp-hero-mission__spark svg,
.clp-video__decor .clp-hero-mission__spark img {
	width: 100%;
	height: auto;
	display: block;
	color: var(--gold);
}
.clp-video__inner {
	position: relative;
	z-index: 1;
}
.clp-video__kicker {
	margin: 0 0 .55rem;
}
.clp-video__title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.1rem;
	margin: 0 0 .85rem;
	font-family: var(--font-display);
	font-size: clamp(1.45rem, 3.1vw, 2.15rem);
	font-weight: 500;
	letter-spacing: .12em;
	text-transform: uppercase;
	line-height: 1.15;
}
.clp-video__title-text {
	max-width: 22ch;
}
.clp-video__lead {
	max-width: 46ch;
	margin: 0 auto 2.15rem;
	line-height: 1.65;
	color: inherit;
	opacity: .82;
}
.clp-video__frame {
	position: relative;
	width: min(100%, var(--clp-video-width, 60%));
	margin: 0 auto;
}
.clp-video__media {
	position: relative;
	aspect-ratio: var(--clp-video-ratio, 16 / 9);
	overflow: hidden;
	border-radius: var(--radius-lg);
	background: #0a1810;
	box-shadow: 0 26px 60px -32px rgba(10, 24, 16, .75);
}
.clp-video__media > * {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}
.clp-video__el,
.clp-video__poster,
.clp-video__play img {
	object-fit: cover;
}
.clp-video__media .clp-ph {
	min-height: 100%;
}
.clp-video__play {
	padding: 0;
	margin: 0;
	background: none;
	cursor: pointer;
	appearance: none;
}
.clp-video__play::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10, 24, 16, .12) 0%, rgba(10, 24, 16, .52) 100%);
	transition: opacity .25s ease;
}
.clp-video__play:hover::after {
	opacity: .75;
}
.clp-video__play-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	width: 4.6rem;
	height: 4.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--gold);
	color: var(--forest-deep, #102b22);
	box-shadow: 0 12px 32px -14px rgba(10, 24, 16, .9);
	transition: transform .25s ease, background .25s ease;
}
.clp-video__play:hover .clp-video__play-icon {
	transform: translate(-50%, -50%) scale(1.07);
	background: color-mix(in srgb, var(--gold) 88%, #fff);
}
.clp-video__play-icon svg {
	width: 45%;
	height: 45%;
	margin-left: .18rem;
}
.clp-video__play:focus-visible {
	outline: 3px solid var(--gold);
	outline-offset: 4px;
}
/* Przycisk play nad filmem z pliku — znika w trakcie odtwarzania. */
.clp-video__play--file {
	background: transparent;
}
.clp-video__play--file::after {
	background: linear-gradient(180deg, rgba(10, 24, 16, .05) 0%, rgba(10, 24, 16, .34) 100%);
}
.clp-video__media > [hidden] {
	display: none;
}
/* Wariant bez miniatury: film ładuje się dopiero po kliknięciu. */
.clp-video__play--blank {
	background: radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--forest) 82%, #000) 0%, #0a1810 78%);
}
.clp-video__play--blank::after {
	background: none;
}
.clp-video__caption {
	margin: 1rem auto 0;
	max-width: 52ch;
	font-family: var(--font-script);
	font-size: 1.25rem;
	color: var(--accent);
}
@media (max-width: 899px) {
	.clp-video__frame {
		width: 100%;
	}
	.clp-video__title {
		gap: .7rem;
	}
	.clp-video__decor .clp-hero-mission__spark--b,
	.clp-video__decor .clp-hero-mission__spark--d {
		display: none;
	}
	.clp-video__play-icon {
		width: 3.6rem;
		height: 3.6rem;
	}
}
@media (max-width: 639px) {
	.clp-video__title .clp-products__arrow {
		display: none;
	}
}

/* Popup — wyskakujące okno */
.clp-popup[hidden] {
	display: none;
}
.clp-popup {
	position: fixed;
	inset: 0;
	z-index: 10060;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3rem 1.25rem;
	overflow-y: auto;
}
.clp-popup__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(8, 18, 12, .78);
	backdrop-filter: blur(2px);
}
.clp-popup__dialog {
	position: relative;
	z-index: 1;
	width: min(100%, 34rem);
	margin: auto;
	padding: 3rem 2.5rem 2.75rem;
	border-radius: var(--radius-lg);
	background: var(--surface);
	color: var(--text);
	text-align: center;
	box-shadow: 0 40px 90px -40px rgba(8, 18, 12, .8);
	animation: clp-popup-in .32s cubic-bezier(.22, 1, .36, 1) both;
}
.clp-popup--cream .clp-popup__dialog {
	background: #ebe3d6;
}
.clp-popup--forest .clp-popup__dialog {
	background: var(--forest-deep, #102b22);
	color: #fff;
}
.clp-popup--forest .clp-popup__title {
	color: #fff;
}
@keyframes clp-popup-in {
	from { opacity: 0; transform: translateY(16px) scale(.97); }
	to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.clp-popup__dialog { animation: none; }
}
.clp-popup__close {
	position: absolute;
	top: -1.1rem;
	right: -1.1rem;
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 50%;
	background: var(--forest-deep, #102b22);
	color: #fff;
	cursor: pointer;
	box-shadow: 0 8px 20px -10px rgba(8, 18, 12, .9);
	transition: background .2s ease, transform .2s ease;
}
.clp-popup__close:hover {
	background: var(--gold);
	color: var(--forest-deep, #102b22);
	transform: scale(1.06);
}
.clp-popup__close svg {
	width: 55%;
	height: 55%;
	display: block;
}
.clp-popup__badge {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto 1.35rem;
}
.clp-popup__title {
	margin: 0 0 .9rem;
	font-family: var(--font-display);
	font-size: clamp(1.6rem, 3.4vw, 2.35rem);
	line-height: 1.15;
}
.clp-popup__text {
	margin: 0 0 1.4rem;
	line-height: 1.65;
	color: inherit;
	opacity: .85;
}
.clp-popup__text p {
	margin: 0 0 .85rem;
	color: inherit;
}
.clp-popup__text p:last-child {
	margin-bottom: 0;
}
.clp-popup__kicker {
	margin: 0 0 .85rem;
	font-size: .85rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: inherit;
}
.clp-popup__kicker-arrow {
	color: var(--gold);
	margin-right: .35rem;
}
.clp-popup__form .clp-newsletter__form,
.clp-popup__form form {
	display: flex;
	flex-direction: column;
	gap: .65rem;
	margin: 0;
	max-width: none;
}
.clp-popup__form input[type="email"],
.clp-popup__form input[type="text"] {
	width: 100%;
	min-height: 3.35rem;
	padding: 0 1.1rem;
	border-radius: var(--radius);
	border: 1px solid var(--border);
	background: var(--surface);
	color: var(--text);
	font: inherit;
}
.clp-popup--forest .clp-popup__form input[type="email"] {
	border-color: color-mix(in srgb, #fff 24%, transparent);
	background: color-mix(in srgb, #fff 8%, transparent);
	color: #fff;
}
.clp-popup__form .clp-btn,
.clp-popup__cta .clp-btn {
	width: 100%;
	min-height: 3.6rem;
	justify-content: center;
	font-size: 1.15rem;
}
.clp-popup__cta {
	display: flex;
	flex-direction: column;
	gap: .6rem;
}
.clp-popup__note {
	margin: .9rem 0 0;
	font-size: .82rem;
	opacity: .7;
}
@media (max-width: 599px) {
	.clp-popup {
		padding: 2.5rem .9rem 1.5rem;
	}
	.clp-popup__dialog {
		padding: 2.25rem 1.4rem 2rem;
	}
	.clp-popup__close {
		top: -.9rem;
		right: -.4rem;
	}
}

/* Porównanie — dwie kolumny (zwykły prezent vs prezent z misją) */
.clp-compare {
	position: relative;
	background: var(--bg-alt);
}
.clp-compare--light {
	background: var(--bg);
}
.clp-compare--forest {
	background: var(--forest);
}
.clp-compare__inner {
	position: relative;
	z-index: 1;
}
.clp-compare__head {
	max-width: 46rem;
	margin: 0 auto 2.6rem;
	text-align: center;
}
.clp-compare__head .clp-kicker {
	margin: 0 0 .5rem;
	font-family: var(--font-body);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.clp-compare__title {
	margin: 0 0 .75rem;
	font-family: var(--font-stamp);
	font-weight: 400;
	font-size: clamp(1.9rem, 4vw, 2.9rem);
	line-height: 1.05;
	letter-spacing: .01em;
	text-transform: uppercase;
}
.clp-compare__title em {
	font-style: normal;
	color: var(--gold);
}
.clp-compare__lead {
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.55;
	color: color-mix(in srgb, var(--text) 74%, transparent);
}
.clp-compare__tagline {
	margin: 1.15rem 0 0;
	font-family: var(--font-display);
	font-size: clamp(1.05rem, 2.2vw, 1.28rem);
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--forest);
	text-wrap: balance;
}
.clp-compare--forest .clp-compare__lead {
	color: color-mix(in srgb, var(--forest-ink) 78%, transparent);
}
.clp-compare--forest .clp-compare__tagline {
	color: var(--gold);
}
.clp-compare__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
	align-items: start;
}
.clp-compare__col {
	position: relative;
	padding: 2rem 1.75rem 2.1rem;
	border-radius: var(--radius-lg);
	border: 1px solid var(--border);
	background: color-mix(in srgb, var(--surface) 70%, transparent);
}
.clp-compare__col--con {
	opacity: .92;
}
.clp-compare__col--pro {
	border-color: var(--gold);
	border-width: 2px;
	background: var(--surface);
	box-shadow: 0 22px 48px color-mix(in srgb, var(--forest) 16%, transparent);
}
.clp-compare--forest .clp-compare__col {
	border-color: color-mix(in srgb, var(--forest-ink) 22%, transparent);
	background: color-mix(in srgb, #fff 7%, transparent);
	color: var(--forest-ink);
}
.clp-compare--forest .clp-compare__col--pro {
	border-color: var(--gold);
	background: color-mix(in srgb, #fff 12%, transparent);
}
.clp-compare__badge {
	position: absolute;
	top: -.85rem;
	left: 1.75rem;
	padding: .35rem .85rem;
	border-radius: 999px;
	background: var(--gold);
	color: var(--forest-ink, #14261f);
	font-family: var(--font-body);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.clp-compare__col-title {
	margin: 0 0 .25rem;
	font-family: var(--font-body);
	font-size: 1.15rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: inherit;
}
.clp-compare__col-sub {
	margin: 0 0 1.4rem;
	font-family: var(--font-script);
	font-size: 1.25rem;
	line-height: 1.2;
	color: var(--accent);
}
.clp-compare__col--con .clp-compare__col-sub {
	color: color-mix(in srgb, var(--text) 52%, transparent);
}
.clp-compare--forest .clp-compare__col--con .clp-compare__col-sub {
	color: color-mix(in srgb, var(--forest-ink) 58%, transparent);
}
.clp-compare__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: .85rem;
}
.clp-compare__row {
	display: grid;
	grid-template-columns: 1.6rem 1fr;
	gap: .75rem;
	align-items: start;
	font-size: .97rem;
	line-height: 1.45;
}
.clp-compare__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 50%;
	flex-shrink: 0;
}
.clp-compare__mark svg {
	width: 1rem;
	height: 1rem;
}
.clp-compare__col--con .clp-compare__mark {
	background: transparent;
	border: 1px solid color-mix(in srgb, var(--text) 18%, transparent);
	color: color-mix(in srgb, var(--text) 45%, transparent);
}
.clp-compare__col--pro .clp-compare__mark {
	background: color-mix(in srgb, var(--gold) 28%, transparent);
	color: var(--forest);
}
.clp-compare--forest .clp-compare__col--con .clp-compare__mark {
	background: color-mix(in srgb, #fff 12%, transparent);
	color: color-mix(in srgb, var(--forest-ink) 62%, transparent);
}
.clp-compare--forest .clp-compare__col--pro .clp-compare__mark {
	background: var(--gold);
	color: var(--forest);
}
.clp-compare__col--con .clp-compare__text {
	color: color-mix(in srgb, var(--text) 66%, transparent);
}
.clp-compare--forest .clp-compare__col--con .clp-compare__text {
	color: color-mix(in srgb, var(--forest-ink) 68%, transparent);
}
.clp-compare__col--pro .clp-compare__text {
	font-weight: 500;
}
.clp-compare__cta {
	margin-top: 2.4rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .85rem;
	text-align: center;
	padding: 1.5rem 1.35rem 1.35rem;
	background: var(--forest);
	border-radius: var(--radius-lg);
}
.clp-compare__cta .clp-btn {
	min-height: 3.5rem;
	padding-inline: 2.2rem;
	background: color-mix(in srgb, var(--brand) 78%, #fff) !important;
	color: #fff !important;
}
.clp-compare__cta .clp-btn:hover {
	background: color-mix(in srgb, var(--brand) 62%, #fff) !important;
}
.clp-compare__note {
	margin: 0;
	font-size: .82rem;
	letter-spacing: .04em;
	color: color-mix(in srgb, var(--forest-ink) 68%, transparent);
}
.clp-compare--forest .clp-compare__note {
	color: color-mix(in srgb, var(--forest-ink) 68%, transparent);
}
@media (max-width: 767px) {
	.clp-compare__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.clp-compare__col {
		padding: 1.75rem 1.25rem 1.85rem;
	}
	.clp-compare__badge {
		left: 1.25rem;
	}
}

/* List od fundacji — osobisty list z podpisem */
.clp-letter {
	position: relative;
	background: var(--bg);
}
.clp-letter--cream {
	background: var(--bg-alt);
}
.clp-letter--forest {
	background: var(--forest);
}
.clp-letter__grid {
	display: grid;
	grid-template-columns: minmax(16rem, 30%) minmax(0, 1fr);
	gap: 3.25rem;
	align-items: start;
}
.clp-letter--media-right .clp-letter__grid {
	grid-template-columns: minmax(0, 1fr) minmax(16rem, 30%);
}
.clp-letter--media-right .clp-letter__media {
	order: 2;
}
.clp-letter--no-media .clp-letter__grid {
	grid-template-columns: minmax(0, 1fr);
	max-width: 46rem;
}
.clp-letter__media {
	position: relative;
}
.clp-letter__photo {
	margin: 0;
}
.clp-letter__photo img {
	display: block;
	width: 100%;
	height: auto;
}
.clp-letter__photo--plain img {
	border-radius: var(--radius-lg);
	aspect-ratio: 4 / 5;
	object-fit: cover;
	box-shadow: 0 18px 40px color-mix(in srgb, var(--forest) 18%, transparent);
}
.clp-letter__photo--circle img {
	border-radius: 50%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	max-width: 15rem;
	margin-inline: auto;
}
.clp-letter__photo.clp-polaroid {
	max-width: none;
	transform: rotate(-3deg);
}
.clp-letter--media-right .clp-letter__photo.clp-polaroid {
	transform: rotate(3deg);
}
.clp-letter__title {
	margin: 0 0 1.25rem;
	font-family: var(--font-stamp);
	font-weight: 400;
	font-size: clamp(1.75rem, 3.4vw, 2.6rem);
	line-height: 1.08;
	letter-spacing: .01em;
	text-transform: uppercase;
}
.clp-letter__title em {
	font-style: normal;
	color: var(--gold);
}
.clp-letter__body .clp-kicker {
	margin: 0 0 .5rem;
	font-family: var(--font-body);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.clp-letter__text p {
	margin: 0 0 1.1rem;
	font-size: 1.04rem;
	line-height: 1.68;
	color: color-mix(in srgb, var(--text) 82%, transparent);
}
.clp-letter--forest .clp-letter__text p {
	color: color-mix(in srgb, var(--forest-ink) 82%, transparent);
}
.clp-letter__text p:last-child {
	margin-bottom: 0;
}
.clp-letter__sign {
	margin-top: 1.85rem;
	display: flex;
	align-items: center;
	gap: 1.15rem;
	flex-wrap: wrap;
}
.clp-letter__sign-text {
	font-family: var(--font-script);
	font-size: clamp(2.2rem, 4vw, 3rem);
	line-height: 1;
	color: var(--forest);
	transform: rotate(-4deg);
}
.clp-letter--forest .clp-letter__sign-text {
	color: var(--gold);
}
.clp-letter__sign-img img {
	display: block;
	width: auto;
	max-width: 11rem;
	max-height: 4.5rem;
	height: auto;
}
.clp-letter__author {
	margin: 0;
	display: grid;
	gap: .15rem;
	line-height: 1.3;
}
.clp-letter__author strong {
	font-family: var(--font-body);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .02em;
}
.clp-letter__author span {
	font-size: .85rem;
	color: color-mix(in srgb, var(--text) 62%, transparent);
}
.clp-letter--forest .clp-letter__author span {
	color: color-mix(in srgb, var(--forest-ink) 66%, transparent);
}
.clp-letter__ps {
	margin: 1.85rem 0 0;
	padding: 1rem 1.2rem;
	border-left: 3px solid var(--gold);
	background: color-mix(in srgb, var(--gold) 10%, transparent);
	border-radius: 0 var(--radius) var(--radius) 0;
	font-size: .95rem;
	line-height: 1.55;
}
.clp-letter__cta {
	margin-top: 1.85rem;
}
.clp-letter__cta .clp-btn {
	min-height: 3.5rem;
	padding-inline: 2.1rem;
}
@media (max-width: 899px) {
	.clp-letter__grid,
	.clp-letter--media-right .clp-letter__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 2.25rem;
	}
	.clp-letter--media-right .clp-letter__media {
		order: 0;
	}
	.clp-letter__photo.clp-polaroid {
		max-width: 18rem;
		margin-inline: auto;
	}
}

/* Historia (dwie kolumny) — elementy graficzne */
.clp-story {
	position: relative;
	overflow: hidden;
}
.clp-story h2,
.clp-story__title {
	margin: 0 0 1.35rem;
	font-family: var(--font-display);
	font-size: clamp(1.55rem, 3vw, 2.2rem);
	font-weight: 600;
	letter-spacing: .01em;
	line-height: 1.14;
	max-width: 15ch;
	color: var(--forest);
}
.clp-story__body {
	max-width: 38ch;
}
.clp-story__body p {
	margin: 0 0 1rem;
	color: var(--text-muted);
	line-height: 1.7;
}
.clp-story__body p:last-child {
	margin-bottom: 0;
}
.clp-story__beat {
	margin-top: 1.35rem !important;
	color: var(--text) !important;
	font-family: var(--font-script);
	font-size: 1.2em;
	font-style: italic;
	font-weight: 500;
	line-height: 1.35;
}
.clp-story__solo {
	margin-top: .35rem !important;
	color: var(--forest) !important;
	font-family: var(--font-display);
	font-size: 1.25em;
	font-weight: 600;
	line-height: 1.25;
}
.clp-story__product {
	margin-top: 2.35rem;
	padding-top: 1.85rem;
	border-top: 1px solid color-mix(in srgb, var(--gold) 58%, transparent);
	max-width: 34ch;
}
.clp-story__product-title {
	margin: 0 0 1rem;
	font-family: var(--font-body);
	font-size: clamp(1.05rem, 2vw, 1.28rem);
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
	line-height: 1.2;
	color: var(--forest);
}
.clp-story__ingredients {
	list-style: none;
	margin: 0 0 1.15rem;
	padding: 0;
}
.clp-story__ingredients li {
	margin: 0;
	padding: .55rem 0;
	border-bottom: 1px solid var(--border);
	color: var(--text);
	font-family: var(--font-body);
	font-size: .98rem;
	line-height: 1.45;
}
.clp-story__ingredients li:first-child {
	padding-top: 0;
}
.clp-story__ingredients li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}
.clp-story__product-note {
	margin: 0;
	color: var(--text-muted);
	font-size: .95rem;
	line-height: 1.65;
}
.clp-story__grid {
	position: relative;
	z-index: 2;
}
.clp-story--has-product .clp-story__grid {
	align-items: start;
}
.clp-story__decor {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
}
.clp-story__decor .clp-hero-mission__spark--a { left: 3%; top: 12%; }
.clp-story__decor .clp-hero-mission__spark--b { left: auto; right: 4%; top: 6%; }
.clp-story__decor .clp-hero-mission__spark--c { left: 6%; bottom: 14%; top: auto; }
.clp-story__decor .clp-hero-mission__spark--d { left: auto; right: 8%; top: auto; bottom: 10%; }
.clp-story__decor .clp-hero-mission__spark svg,
.clp-story__decor .clp-hero-mission__spark img {
	width: 100%;
	height: auto;
	display: block;
	color: var(--gold);
}
.clp-story__kicker--brush {
	position: relative;
	display: inline-block;
	margin-bottom: 1.1rem;
	padding: .5rem 1.5rem .55rem;
	color: var(--forest);
}
.clp-story__brush {
	position: absolute;
	inset: -.15rem -.35rem;
	z-index: 0;
	color: var(--gold);
	opacity: .42;
	line-height: 0;
	pointer-events: none;
}
.clp-story__brush svg,
.clp-story__brush img {
	width: 100%;
	height: 100%;
	display: block;
}
.clp-story__kicker-text {
	position: relative;
	z-index: 1;
}
.clp-story__arrow {
	display: block;
	width: 5.5rem;
	margin: 1.6rem 0 0 auto;
	color: var(--gold);
	line-height: 0;
	transform: scaleX(-1);
}
.clp-story.is-flip .clp-story__arrow {
	margin: 1.6rem auto 0 0;
	transform: none;
}
.clp-story__arrow svg {
	width: 100%;
	height: auto;
	display: block;
}
.clp-story__media {
	position: relative;
	overflow: visible;
	border-radius: 0;
}
.clp-story__figure {
	position: relative;
	margin: 0;
}
.clp-story--frame-plain .clp-story__figure {
	overflow: hidden;
	border-radius: var(--radius-lg);
}
.clp-story--frame-polaroid .clp-story__media {
	max-width: 24rem;
	margin-inline: auto;
}
.clp-story--frame-polaroid .clp-story__figure {
	max-width: 24rem;
	transform: rotate(-2.5deg);
}
.clp-story--frame-polaroid.is-flip .clp-story__figure {
	transform: rotate(2.5deg);
}
.clp-story--frame-polaroid .clp-story__figure img,
.clp-story--frame-polaroid .clp-story__figure .clp-ph {
	aspect-ratio: 4 / 5;
	border-radius: 0;
}
.clp-story--frame-tape .clp-story__figure {
	transform: rotate(-1.5deg);
	box-shadow: 0 16px 34px color-mix(in srgb, #000 16%, transparent);
}
.clp-story--frame-tape.is-flip .clp-story__figure {
	transform: rotate(1.5deg);
}
.clp-story--frame-tape .clp-story__figure img {
	border-radius: 2px;
}
.clp-story__tape {
	position: absolute;
	width: 5.5rem;
	height: 1.45rem;
	background: color-mix(in srgb, #d8c7a2 80%, transparent);
	box-shadow: 0 1px 3px rgb(0 0 0 / 14%);
	z-index: 3;
	pointer-events: none;
}
.clp-story__tape--tl {
	top: -.65rem;
	left: -1.1rem;
	transform: rotate(-24deg);
}
.clp-story__tape--br {
	bottom: -.65rem;
	right: -1.1rem;
	transform: rotate(-24deg);
}
.clp-story__note {
	margin: .7rem 0 0;
	font-family: var(--font-script);
	font-size: 1.35rem;
	line-height: 1.2;
	color: var(--forest);
	text-align: center;
}
.clp-story--frame-polaroid .clp-story__note {
	position: absolute;
	left: 0;
	right: 0;
	bottom: .6rem;
	margin: 0;
	font-size: 1.5rem;
	transform: rotate(-2deg);
}
.clp-story__stamp {
	position: absolute;
	right: -1.2rem;
	bottom: -1.2rem;
	z-index: 4;
	width: 7rem;
	height: 7rem;
	background: color-mix(in srgb, var(--surface) 90%, transparent);
	border-radius: 50%;
}
.clp-story.is-flip .clp-story__stamp {
	right: auto;
	left: -1.2rem;
}
/* Przy polaroidzie pieczęć idzie na górny róg, żeby nie zasłaniała podpisu */
.clp-story--frame-polaroid .clp-story__stamp {
	top: -1.5rem;
	bottom: auto;
	right: -1.6rem;
}
.clp-story--frame-polaroid.is-flip .clp-story__stamp {
	right: auto;
	left: -1.6rem;
}
@media (max-width: 899px) {
	.clp-story__decor .clp-hero-mission__spark--b,
	.clp-story__decor .clp-hero-mission__spark--d {
		display: none;
	}
	.clp-story__arrow {
		display: none;
	}
	.clp-story--frame-polaroid .clp-story__figure {
		max-width: 20rem;
		margin-inline: auto;
	}
	.clp-story__stamp,
	.clp-story.is-flip .clp-story__stamp {
		right: .5rem;
		left: auto;
		bottom: -.9rem;
		width: 5.6rem;
		height: 5.6rem;
	}
	.clp-story__stamp .clp-stamp__text {
		font-size: 1rem;
		max-width: 4.2rem;
	}
}

/* Manifesto — Nie zjechała z taśmy (oddzielny układ od two-columns) */
.clp-manifesto,
.wp-block-centaurus-lp-handmade-candle.clp-manifesto {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: var(--forest);
	color: var(--forest-ink);
	padding-block: clamp(3.25rem, 7vw, 5.25rem);
}
.clp-manifesto__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}
.clp-manifesto__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	opacity: .28;
}
.clp-manifesto__shade {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--forest) 72%, transparent) 0%, var(--forest) 55%, var(--forest) 100%),
		radial-gradient(ellipse 80% 60% at 85% 20%, color-mix(in srgb, var(--gold) 18%, transparent), transparent 70%);
}
.clp-manifesto--has-bg .clp-manifesto__shade {
	background:
		linear-gradient(105deg, color-mix(in srgb, var(--forest) 92%, #000) 0%, color-mix(in srgb, var(--forest) 78%, transparent) 48%, color-mix(in srgb, var(--forest) 88%, #000) 100%),
		linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--forest) 55%, transparent) 100%);
}
.clp-manifesto__inner {
	position: relative;
	z-index: 2;
}
.clp-manifesto__kicker {
	margin: 0 0 1.1rem;
	font-family: var(--font-script);
	font-size: clamp(1.15rem, 2.2vw, 1.45rem);
	font-style: italic;
	font-weight: 500;
	letter-spacing: .02em;
	color: var(--gold);
	line-height: 1.2;
}
.clp-manifesto__title {
	margin: 0 0 clamp(1.75rem, 4vw, 2.6rem);
	max-width: 16ch;
	font-family: var(--font-display);
	font-size: clamp(2rem, 5.2vw, 3.35rem);
	font-weight: 600;
	letter-spacing: .01em;
	line-height: 1.08;
	color: #fff;
	text-wrap: balance;
}
.clp-manifesto__split {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(14rem, .85fr);
	gap: clamp(1.75rem, 4vw, 3.25rem);
	align-items: start;
}
.clp-manifesto__body {
	max-width: 42ch;
}
.clp-manifesto__body p {
	margin: 0 0 1.05rem;
	color: color-mix(in srgb, var(--forest-ink) 82%, transparent);
	font-size: 1.02rem;
	line-height: 1.72;
}
.clp-manifesto__body p:last-child {
	margin-bottom: 0;
}
.clp-manifesto__beat {
	margin-top: 1.35rem !important;
	color: #fff !important;
	font-family: var(--font-script);
	font-size: 1.22em;
	font-style: italic;
	font-weight: 500;
	line-height: 1.35;
}
.clp-manifesto__product {
	margin: 0;
	padding: .15rem 0 0 clamp(1.15rem, 3vw, 1.75rem);
	border-left: 1px solid color-mix(in srgb, var(--gold) 55%, transparent);
	border-top: 0;
	max-width: none;
}
.clp-manifesto__product-title {
	margin: 0 0 1.05rem;
	font-family: var(--font-body);
	font-size: clamp(1.05rem, 2vw, 1.2rem);
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	line-height: 1.2;
	color: var(--gold);
}
.clp-manifesto__ingredients {
	list-style: none;
	margin: 0 0 1.15rem;
	padding: 0;
}
.clp-manifesto__ingredients li {
	position: relative;
	margin: 0;
	padding: .55rem 0 .55rem 1.15rem;
	border-bottom: 1px solid color-mix(in srgb, #fff 12%, transparent);
	color: color-mix(in srgb, var(--forest-ink) 88%, transparent);
	font-size: .98rem;
	line-height: 1.5;
}
.clp-manifesto__ingredients li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.05em;
	width: .4rem;
	height: .4rem;
	border-radius: 50%;
	background: var(--gold);
	transform: translateY(-50%);
}
.clp-manifesto__ingredients li:first-child {
	padding-top: 0;
}
.clp-manifesto__ingredients li:first-child::before {
	top: .75em;
}
.clp-manifesto__ingredients li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}
.clp-manifesto__product-note {
	margin: 0;
	color: color-mix(in srgb, var(--forest-ink) 68%, transparent);
	font-size: .95rem;
	line-height: 1.65;
	max-width: 28ch;
}
@media (max-width: 799px) {
	.clp-manifesto__split {
		grid-template-columns: 1fr;
		gap: 1.75rem;
	}
	.clp-manifesto__title {
		max-width: 14ch;
	}
	.clp-manifesto__product {
		padding: 1.35rem 0 0;
		border-left: 0;
		border-top: 1px solid color-mix(in srgb, var(--gold) 45%, transparent);
	}
	.clp-manifesto__product-note {
		max-width: 38ch;
	}
}

/* Dlaczego robimy świece — dwa rozdziały + luźny szept */
.clp-why,
.wp-block-centaurus-lp-why-candles.clp-why {
	position: relative;
	background:
		radial-gradient(ellipse 70% 50% at 12% 0%, color-mix(in srgb, var(--gold) 14%, transparent), transparent 55%),
		var(--bg-alt);
	color: var(--text);
	padding-block: clamp(3.5rem, 8vw, 5.75rem);
	overflow: hidden;
}
.clp-why__inner {
	position: relative;
	z-index: 1;
	max-width: 42rem;
	margin-inline: auto;
}
.clp-why__chapter + .clp-why__chapter,
.clp-why__whisper + .clp-why__chapter {
	margin-top: clamp(2.5rem, 5vw, 3.5rem);
	padding-top: clamp(2.25rem, 4.5vw, 3rem);
	border-top: 1px solid color-mix(in srgb, var(--gold) 45%, var(--border));
}
.clp-why__title {
	margin: 0 0 1.35rem;
	font-family: var(--font-display);
	font-size: clamp(1.75rem, 4vw, 2.55rem);
	font-weight: 600;
	letter-spacing: .01em;
	line-height: 1.12;
	color: var(--forest);
	text-wrap: balance;
	max-width: 16ch;
}
.clp-why__chapter--close .clp-why__title {
	max-width: 12ch;
}
.clp-why__body p {
	margin: 0 0 1.05rem;
	color: var(--text-muted);
	font-size: 1.05rem;
	line-height: 1.75;
}
.clp-why__body p:last-child {
	margin-bottom: 0;
}
.clp-why__soft {
	margin: .85rem 0 !important;
	color: var(--text) !important;
	font-family: var(--font-script);
	font-size: 1.2em;
	font-style: italic;
	font-weight: 500;
	line-height: 1.35;
}
.clp-why__whisper {
	margin: clamp(2rem, 4vw, 2.75rem) 0 0;
	padding: 1.15rem 0 0;
	border-top: 1px dashed color-mix(in srgb, var(--gold) 50%, transparent);
	font-family: var(--font-script);
	font-size: clamp(1.25rem, 2.6vw, 1.55rem);
	font-style: italic;
	font-weight: 500;
	line-height: 1.35;
	color: var(--forest);
	text-align: center;
	text-wrap: balance;
}

/* ==========================================================================
   Mikroanimacje — wspólna warstwa dla wszystkich bloków.
   Ruch opisujemy właściwościami translate/rotate/scale, żeby nie kasować
   bazowych transformów (przekrzywione polaroidy, obrócone strzałki itd.).
   ========================================================================== */

@keyframes clp-ripple {
	from { opacity: .5; scale: 0; }
	to { opacity: 0; scale: 26; }
}
@keyframes clp-pop {
	0% { opacity: 0; scale: .6; }
	70% { opacity: 1; scale: 1.12; }
	100% { opacity: 1; scale: 1; }
}
@keyframes clp-tick {
	0% { translate: 0 -35%; opacity: .25; }
	60% { translate: 0 6%; opacity: 1; }
	100% { translate: 0 0; opacity: 1; }
}
@keyframes clp-float-soft {
	0%, 100% { translate: 0 0; }
	50% { translate: 0 -7px; }
}
@keyframes clp-nudge-x {
	0%, 70%, 100% { translate: 0 0; }
	85% { translate: 6px 0; }
}
@keyframes clp-ring-pulse {
	0% { opacity: .55; scale: 1; }
	70% { opacity: 0; scale: 1.55; }
	100% { opacity: 0; scale: 1.55; }
}
@keyframes clp-spin-slow {
	to { rotate: 360deg; }
}
@keyframes clp-details-in {
	from { opacity: 0; translate: 0 -6px; }
	to { opacity: 1; translate: 0 0; }
}
@keyframes clp-twinkle {
	0%, 100% { opacity: 1; scale: 1; }
	50% { opacity: .75; scale: 1.08; }
}
@keyframes clp-badge-pulse {
	0%, 100% { scale: 1; }
	50% { scale: 1.06; }
}
@keyframes clp-sign-in {
	from { opacity: 0; translate: -10px 4px; rotate: -3deg; }
	to { opacity: 1; translate: 0 0; rotate: 0deg; }
}

/* Przyciski: fala po kliknięciu i wyraźniejsze wciśnięcie */
.clp-btn {
	position: relative;
	overflow: hidden;
}
.clp-btn::before {
	content: "";
	position: absolute;
	top: var(--clp-ripple-y, 50%);
	left: var(--clp-ripple-x, 50%);
	width: 10px;
	height: 10px;
	margin: -5px 0 0 -5px;
	border-radius: 50%;
	background: color-mix(in srgb, #fff 30%, transparent);
	opacity: 0;
	scale: 0;
	pointer-events: none;
}
.clp-btn.is-rippling::before {
	animation: clp-ripple .6s ease-out;
}
.clp-btn:active {
	scale: .975;
}
.clp-btn--arrow::after,
.clp-btn.clp-btn--arrow::after {
	transition: transform .2s ease, translate .2s ease;
}

/* Nagłówek i nawigacja */
.clp-icon-btn svg,
.clp-cart-link svg {
	transition: scale .25s ease, rotate .25s ease;
}
.clp-icon-btn:hover svg {
	scale: 1.14;
}
.clp-cart-link:hover svg {
	scale: 1.1;
	rotate: -6deg;
}
.clp-cart-count {
	transition: scale .25s ease;
}
.clp-cart-link:hover .clp-cart-count {
	scale: 1.16;
}
.clp-nav-toggle:hover .clp-nav-toggle__bars span:nth-child(2) {
	translate: 3px 0;
}
.clp-header__cta {
	transition: background .2s ease, transform .2s ease, box-shadow .2s ease, scale .25s ease;
}
.clp-header__cta:hover {
	scale: 1.03;
}

/* Promo bar */
.clp-promo-bar__close {
	transition: opacity .2s ease, rotate .3s ease;
}
.clp-promo-bar__close:hover {
	rotate: 90deg;
}

/* Hero — wejście treści i oddech dekoracji */
.clp-hero-mission__title,
.clp-hero-mission__script,
.clp-hero-mission__lead,
.clp-hero-mission__cta {
	animation: clp-fade-up .8s cubic-bezier(.22, 1, .36, 1) both;
}
.clp-hero-mission__title { animation-delay: .05s; }
.clp-hero-mission__script { animation-delay: .18s; }
.clp-hero-mission__lead { animation-delay: .26s; }
.clp-hero-mission__cta { animation-delay: .34s; }
.clp-hero-product {
	animation: clp-hero-product-in .8s cubic-bezier(.22, 1, .36, 1) both;
	animation-delay: .42s;
	transition: transform .35s ease, box-shadow .35s ease;
}
.clp-hero-product:hover {
	transform: rotate(-.6deg) translateY(-5px);
	box-shadow: 0 22px 40px color-mix(in srgb, #000 20%, transparent);
}
.clp-hero-mission__callout {
	animation: clp-float-soft 7.5s ease-in-out infinite;
}
.clp-hero-mission__trust-icon {
	transition: scale .25s ease, rotate .25s ease;
}
.clp-hero-mission__trust-item:hover .clp-hero-mission__trust-icon {
	scale: 1.14;
	rotate: -6deg;
}

/* Pasek misji i korzyści */
.clp-mission-strip__icon,
.clp-benefit__icon,
.clp-guarantee__icon {
	transition: scale .25s ease, rotate .25s ease;
}
.clp-mission-strip__col:hover .clp-mission-strip__icon,
.clp-benefit:hover .clp-benefit__icon,
.clp-guarantee__item:hover .clp-guarantee__icon {
	scale: 1.12;
	rotate: -6deg;
}
.clp-mission-strip__polaroid,
.clp-polaroid {
	transition: rotate .4s ease, scale .4s ease;
}
.clp-mission-strip__polaroid:hover,
.clp-polaroid:hover {
	rotate: -2.5deg;
	scale: 1.02;
}

/* Dwie kolumny — historia */
.clp-story__figure {
	transition: rotate .45s ease, scale .45s ease;
}
.clp-story__media:hover .clp-story__figure {
	scale: 1.015;
}
.clp-story__stamp {
	transition: rotate .45s ease, scale .45s ease;
}
.clp-story__media:hover .clp-story__stamp {
	rotate: -8deg;
	scale: 1.05;
}
.clp-story__tape {
	transition: rotate .35s ease;
}
.clp-story__media:hover .clp-story__tape--tl { rotate: -4deg; }
.clp-story__media:hover .clp-story__tape--br { rotate: 4deg; }
.clp-story__arrow svg {
	animation: clp-nudge-x 3.6s ease-in-out infinite;
}

/* Zdjęcie z panelem (photo-overlay) */
.clp-impact__heart--a { animation: clp-float-soft 5.4s ease-in-out infinite; }
.clp-impact__heart--b { animation: clp-float-soft 6.8s ease-in-out infinite reverse; }
.clp-impact__badge-ring svg {
	animation: clp-spin-slow 34s linear infinite;
}
.clp-impact__arrow svg {
	animation: clp-nudge-x 4.2s ease-in-out infinite;
}
.clp-impact__photo img {
	transition: scale .9s cubic-bezier(.22, 1, .36, 1);
}
.clp-impact__photo:hover > img,
.clp-impact__photo:hover > .clp-ph {
	scale: 1.04;
}
.clp-impact__badge {
	transition: scale .3s ease;
}
.clp-impact__badge:hover {
	scale: 1.04;
}

/* Statystyki — liczby doliczają się w JS, ikony wskakują z opóźnieniem */
.clp-reveal.is-inview .clp-stat__icon {
	animation: clp-pop .55s cubic-bezier(.34, 1.56, .64, 1) both;
	animation-delay: calc(var(--stagger, 0) * 70ms + 120ms);
}
.clp-stat__icon {
	transition: scale .25s ease, rotate .25s ease;
}
.clp-stat:hover .clp-stat__icon {
	scale: 1.12;
	rotate: -6deg;
}
.clp-stat strong {
	font-variant-numeric: tabular-nums;
}

/* Produkty */
.clp-product-card {
	transition: transform .28s ease, box-shadow .28s ease;
}
.clp-product-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 20px 42px color-mix(in srgb, var(--text) 12%, transparent);
}
.clp-product-card__media img {
	transition: scale .8s cubic-bezier(.22, 1, .36, 1);
}
.clp-product-card:hover .clp-product-card__media img {
	scale: 1.06;
}
.clp-product-card__title a {
	transition: color .25s ease;
}
.clp-product-card:hover .clp-product-card__title a {
	color: var(--brand);
}
.clp-spotlight__main img {
	transition: scale .8s cubic-bezier(.22, 1, .36, 1);
}
.clp-spotlight__main:hover img {
	scale: 1.05;
}
.clp-spotlight__thumb {
	transition: translate .25s ease, border-color .25s ease;
}
.clp-spotlight__thumb:hover {
	translate: 0 -3px;
}

/* Opinie */
.clp-reviews__arrow svg {
	transition: translate .2s ease;
}
.clp-reviews__arrow:hover:not(:disabled) svg {
	translate: -2px 0;
}
.clp-reviews__arrow[data-clp-carousel-next]:hover:not(:disabled) svg {
	translate: 2px 0;
}
.clp-review:hover .clp-star {
	animation: clp-twinkle 1.4s ease-in-out infinite;
}

/* Porównanie */
.clp-compare__col {
	transition: translate .3s ease, box-shadow .3s ease;
}
.clp-compare__col:hover {
	translate: 0 -4px;
	box-shadow: 0 22px 46px color-mix(in srgb, var(--text) 12%, transparent);
}
.clp-reveal.is-inview .clp-compare__row .clp-compare__mark {
	animation: clp-pop .5s cubic-bezier(.34, 1.56, .64, 1) both;
	animation-delay: calc(var(--stagger, 0) * 70ms + 160ms);
}
.clp-compare__badge {
	animation: clp-badge-pulse 3.6s ease-in-out infinite;
}

/* List od fundacji */
.clp-letter__photo {
	transition: rotate .45s ease, scale .45s ease;
}
.clp-letter__photo:hover {
	rotate: 1.5deg;
	scale: 1.02;
}
.clp-reveal.is-inview .clp-letter__sign-text,
.clp-reveal.is-inview .clp-letter__sign-img {
	animation: clp-sign-in .85s cubic-bezier(.22, 1, .36, 1) both;
	animation-delay: .45s;
}

/* Wideo */
.clp-video__frame {
	transition: translate .35s ease;
}
.clp-video__frame:hover {
	translate: 0 -4px;
}
.clp-video__play-icon::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 2px solid currentColor;
	animation: clp-ring-pulse 2.6s ease-out infinite;
	pointer-events: none;
}
.clp-video__poster {
	transition: scale .9s cubic-bezier(.22, 1, .36, 1);
}
.clp-video__play:hover ~ .clp-video__poster,
.clp-video__media:hover .clp-video__poster {
	scale: 1.04;
}

/* FAQ */
.clp-faq summary {
	transition: translate .2s ease, color .2s ease;
}
.clp-faq summary:hover {
	translate: 4px 0;
	color: var(--brand);
}
.clp-faq summary span {
	transition: transform .25s ease, scale .25s ease;
}
.clp-faq summary:hover span {
	scale: 1.25;
}
.clp-faq details[open] p {
	animation: clp-details-in .35s ease both;
}

/* Newsletter */
.clp-newsletter__heart {
	animation: clp-float-soft 5.2s ease-in-out infinite;
}
.clp-newsletter input.wpcf7-text,
.clp-newsletter input[type="email"] {
	transition: border-color .25s ease, box-shadow .25s ease;
}
.clp-newsletter input.wpcf7-text:focus,
.clp-newsletter input[type="email"]:focus {
	border-color: var(--gold);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--gold) 24%, transparent);
}

/* Odliczanie — cyfra wskakuje przy każdej zmianie */
.clp-countdown__unit strong {
	display: inline-block;
	font-variant-numeric: tabular-nums;
}
.clp-countdown__unit strong.is-tick {
	animation: clp-tick .45s cubic-bezier(.22, 1, .36, 1);
}

/* Stopka i elementy pływające */
.clp-footer__logo img {
	transition: scale .3s ease, rotate .3s ease;
}
.clp-footer__logo:hover img {
	scale: 1.04;
	rotate: -1.5deg;
}
.clp-back-top {
	transition: opacity .25s ease, visibility .25s ease, transform .25s ease, background .2s ease, translate .25s ease;
}
.clp-back-top.is-visible:hover {
	translate: 0 -3px;
}
.clp-sticky-atc .clp-btn:hover {
	scale: 1.02;
}

/* Popup */
.clp-popup__badge {
	animation: clp-float-soft 6.2s ease-in-out infinite;
}
.clp-popup__close {
	transition: background .2s ease, color .2s ease, transform .2s ease, rotate .3s ease;
}
.clp-popup__close:hover {
	rotate: 90deg;
}

@media (prefers-reduced-motion: reduce) {
	.clp-hero-mission__title,
	.clp-hero-mission__script,
	.clp-hero-mission__lead,
	.clp-hero-mission__cta,
	.clp-hero-product,
	.clp-hero-mission__callout,
	.clp-story__arrow svg,
	.clp-impact__heart--a,
	.clp-impact__heart--b,
	.clp-impact__badge-ring svg,
	.clp-impact__arrow svg,
	.clp-reveal.is-inview .clp-stat__icon,
	.clp-reveal.is-inview .clp-compare__row .clp-compare__mark,
	.clp-reveal.is-inview .clp-letter__sign-text,
	.clp-reveal.is-inview .clp-letter__sign-img,
	.clp-review:hover .clp-star,
	.clp-compare__badge,
	.clp-video__play-icon::before,
	.clp-newsletter__heart,
	.clp-countdown__unit strong.is-tick,
	.clp-popup__badge {
		animation: none !important;
		opacity: 1;
	}
	.clp-video__play-icon::before,
	.clp-btn::before,
	.clp-btn.is-rippling::before {
		display: none;
	}
	.clp-btn:active,
	.clp-btn:hover,
	.clp-product-card:hover,
	.clp-compare__col:hover,
	.clp-letter__photo:hover,
	.clp-polaroid:hover,
	.clp-hero-product:hover,
	.clp-mission-strip__polaroid:hover,
	.clp-video__frame:hover,
	.clp-story__media:hover .clp-story__stamp,
	.clp-story__media:hover .clp-story__figure,
	.clp-faq summary:hover,
	.clp-back-top.is-visible:hover {
		translate: none !important;
		rotate: none !important;
		scale: none !important;
		transform: none !important;
	}
}

/* Nagłówek i stopka mają ten sam oddech na podstronach co na landingu */
.clp-header .clp-container,
.clp-footer .clp-container {
	width: min(100% - 3rem, var(--maxw));
}

/* Cena za sztukę — w nawiasie obok ceny */
.clp-unit-price {
	font-size: .78em;
	color: var(--text-muted);
	opacity: .85;
	white-space: nowrap;
}
.clp-unit-price .woocommerce-Price-amount { font-weight: inherit; }

/* Etykieta na zdjęciu produktu */
.clp-card-badge {
	position: absolute;
	top: .75rem;
	right: .75rem;
	z-index: 2;
	max-width: calc(100% - 1.5rem);
	padding: .4rem .75rem;
	border-radius: 999px;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.2;
	text-transform: uppercase;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .18);
	pointer-events: none;
}
.clp-card-badge--gold  { background: var(--gold, #C9A66B); color: #1A3C32; }
.clp-card-badge--green { background: var(--brand, #004540); color: var(--brand-ink, #F6F3EC); }
.clp-card-badge--red   { background: #B3261E; color: #fff; }
.clp-card-badge--cream { background: #F6F3EC; color: var(--brand, #004540); }

/* Siatka produktów: niepełny ostatni rząd rozciąga się na całą szerokość */
@media (min-width: 640px) and (max-width: 899px) {
	.clp-products .clp-products__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.clp-products .clp-products__grid > * { grid-column: span 2; }
	/* nieparzysta liczba: ostatni wyśrodkowany */
	.clp-products .clp-products__grid > :last-child:nth-child(odd) { grid-column: 2 / span 2; }
}
@media (min-width: 900px) {
	.clp-products .clp-products__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.clp-products .clp-products__grid > * { grid-column: span 2; }
	/* zostają 2 w ostatnim rzędzie → 2 × 50% */
	.clp-products .clp-products__grid > :nth-last-child(2):nth-child(3n+1),
	.clp-products .clp-products__grid > :last-child:nth-child(3n+2) { grid-column: span 3; }
	/* zostaje 1 → wyśrodkowany, bez rozciągania */
	.clp-products .clp-products__grid > :last-child:nth-child(3n+1) { grid-column: 3 / span 2; }
	/* szersze karty: niższe zdjęcie, żeby rzędy miały podobną wysokość */
	.clp-products .clp-products__grid > :nth-last-child(2):nth-child(3n+1) .clp-product-card__media,
	.clp-products .clp-products__grid > :nth-last-child(2):nth-child(3n+1) .clp-product-card__media img,
	.clp-products .clp-products__grid > :last-child:nth-child(3n+2) .clp-product-card__media,
	.clp-products .clp-products__grid > :last-child:nth-child(3n+2) .clp-product-card__media img { aspect-ratio: 3 / 2; }
}

/* Impact: punkt ostrości zdjęcia ustawiony w bloku (wygrywa z domyślnym kadrowaniem na każdej szerokości) */
.clp-impact .clp-impact__photo--focal img,
.clp-impact .clp-impact__photo--focal .clp-ph {
	object-position: var(--clp-photo-pos, 50% 50%) !important;
}
