/* ============================================================
   E-COMMERCE MANAGER — Custom theme styles
   Design tokens + all section styles for front-page homepage.
   ============================================================ */

:root {
	--cream:        #F5F2EC;
	--cream-2:      #ECE8DC;
	--ink:          #0A0A0A;
	--ink-soft:     #1c1c1c;
	--ink-muted:    rgba(10,10,10,0.6);
	--ink-line:     rgba(10,10,10,0.15);
	--orange:       #FF5A1F;
	--cream-on-dk:  #F5F2EC;
	--cream-on-dk-mute: rgba(245,242,236,0.6);
	--cream-on-dk-line: rgba(245,242,236,0.15);

	--ff-body:      'Space Grotesk', system-ui, -apple-system, sans-serif;
	--ff-display:   'Archivo', 'Space Grotesk', sans-serif;
	--ff-mono:      'JetBrains Mono', ui-monospace, monospace;

	--container:    1840px;
	--gutter:       32px;
}

/* RESETS / GLOBAL */
html, body {
	margin: 0; padding: 0;
	background: var(--cream);
	color: var(--ink);
	font-family: var(--ff-body);
	overflow-x: hidden;
}
* { box-sizing: border-box; }
a { text-decoration: none; cursor: pointer; color: inherit; }
button { font-family: inherit; }
::selection { background: var(--orange); color: var(--ink); }
img { max-width: 100%; height: auto; display: block; }

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
	outline: 2px solid var(--orange); outline-offset: 3px;
}
.sr-only {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0); border: 0;
}
.ecm-skip {
	position: absolute; left: -9999px; top: 0; padding: 12px 16px;
	background: var(--ink); color: var(--cream); z-index: 1000;
}
.ecm-skip:focus { left: 0; }

.ecm-container {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--gutter);
}

/* ---------- TOP UTILITY BAR ---------- */
.ecm-utilbar {
	background: var(--ink); color: rgba(245,242,236,0.85);
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
	padding: 8px var(--gutter);
	display: flex; justify-content: space-between; align-items: center; gap: 24px;
}
.ecm-utilbar__l { display: flex; gap: 28px; flex-wrap: wrap; }
.ecm-utilbar__r { display: flex; gap: 24px; flex-wrap: wrap; }
.ecm-utilbar__dot { color: var(--orange); }
@media (max-width: 980px) {
	.ecm-utilbar { font-size: 10px; gap: 12px; flex-wrap: wrap; }
	.ecm-utilbar__l { gap: 16px; }
	.ecm-utilbar__r { gap: 12px; }
}
@media (max-width: 640px) {
	.ecm-utilbar__r { display: none; }
}

/* ---------- HEADER / NAV ---------- */
.ecm-header {
	position: sticky; top: 0; z-index: 50;
	background: var(--cream); color: var(--ink);
	border-bottom: 1px solid rgba(10,10,10,0.1);
	font-family: var(--ff-body);
}
.ecm-nav {
	display: flex; align-items: stretch; height: 116px;
	padding: 0 var(--gutter);
	position: relative;
}
.ecm-nav__logo {
	display: flex; align-items: center; gap: 14px; flex-shrink: 0; color: var(--ink);
}
.ecm-nav__logo img {
	height: 84px; width: auto;
	max-width: 100%;
}
.ecm-nav__list {
	flex: 1; list-style: none; margin: 0; padding: 0;
	display: flex; align-items: center; justify-content: center;
	gap: 32px;
	font-size: 17px; font-weight: 500; letter-spacing: 0.01em;
}
.ecm-nav__list > li { position: relative; }
.ecm-nav__list a { color: var(--ink); display: inline-flex; align-items: center; gap: 6px; }
.ecm-nav__list a:hover { border-bottom: 2px solid var(--orange); padding-bottom: 2px; }
.ecm-nav__list .menu-item-has-children > a::after {
	content: "";
	width: 6px; height: 6px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	margin-left: 2px;
	transition: transform 0.2s;
}

/* Submenu (sub-menu) — desktop dropdown on hover.
   Aligned to the left edge of the parent item: the box is shifted left by
   the link's horizontal padding, so the submenu link TEXT lines up with
   the parent link TEXT exactly. */
.ecm-nav__list .sub-menu {
	position: absolute;
	top: 100%; left: -16px;
	transform: translateY(8px);
	min-width: 220px;
	list-style: none; margin: 0; padding: 8px 0;
	background: var(--cream);
	border: 1px solid var(--ink-line);
	box-shadow: 0 12px 32px -8px rgba(10,10,10,0.18);
	opacity: 0; pointer-events: none;
	transition: opacity 0.18s ease, transform 0.18s ease;
	z-index: 100;
	font-size: 15px; font-weight: 500;
}
.ecm-nav__list .sub-menu li { display: block; }
.ecm-nav__list .sub-menu a {
	display: block;
	padding: 10px 16px;
	color: var(--ink);
	white-space: nowrap;
}
.ecm-nav__list .sub-menu a:hover {
	background: var(--cream-2);
	border-bottom: 0;
	padding-bottom: 10px;
	color: var(--orange);
}
.ecm-nav__list .menu-item-has-children:hover > .sub-menu,
.ecm-nav__list .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1; pointer-events: auto;
	transform: translateY(0);
}

.ecm-nav__actions {
	display: flex; align-items: center; gap: 12px; flex-shrink: 0;
}
.ecm-nav__cart {
	padding: 10px 16px; border: 1px solid rgba(10,10,10,0.2);
	font-size: 13px; color: var(--ink);
	display: flex; align-items: center; gap: 8px;
	transition: border-color 0.2s, color 0.2s;
}
.ecm-nav__cart:hover { border-color: var(--ink); color: var(--orange); }
.ecm-nav__cart-icon { display: none; }
.ecm-nav__cart-count {
	background: var(--orange); color: var(--ink);
	padding: 0 6px; font-weight: 700;
}
.ecm-nav__cta {
	padding: 13px 22px;
	background: var(--ink); color: var(--cream);
	font-weight: 700; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase;
	display: flex; align-items: center; gap: 12px;
	transition: color 0.2s ease;
}
.ecm-nav__cta:hover, .ecm-nav__cta:focus-visible { color: #fff !important; }
.ecm-nav__cta-arrow { color: var(--orange); }
.ecm-nav__cta-short { display: none; }

/* Hamburger toggle — hidden on desktop, shown ≤1100px */
.ecm-nav__toggle {
	display: none;
	width: 44px; height: 44px;
	background: transparent !important; border: 1px solid var(--ink-line);
	padding: 0; cursor: pointer;
	flex-direction: column; align-items: center; justify-content: center; gap: 5px;
	flex-shrink: 0;
	-webkit-tap-highlight-color: transparent;
}
.ecm-nav__toggle:hover,
.ecm-nav__toggle:focus,
.ecm-nav__toggle:focus-visible,
.ecm-nav__toggle:active {
	background: transparent !important;
	outline: none;
}
.ecm-nav__toggle-bar {
	display: block;
	width: 22px; height: 2px;
	background: var(--ink);
	flex-shrink: 0;
	transition: transform 0.25s ease, opacity 0.2s;
}
.ecm-nav.is-open .ecm-nav__toggle-bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}
.ecm-nav.is-open .ecm-nav__toggle-bar:nth-child(2) {
	opacity: 0;
}
.ecm-nav.is-open .ecm-nav__toggle-bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.ecm-breadcrumbs {
	padding: 10px var(--gutter);
	border-top: 1px solid rgba(10,10,10,0.08);
	background: rgba(10,10,10,0.02);
	display: flex; justify-content: space-between; align-items: center; gap: 16px;
	font-family: var(--ff-mono);
	font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase;
	color: rgba(10,10,10,0.55);
}
.ecm-breadcrumbs__trail { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.ecm-breadcrumbs__trail a { color: inherit; transition: color 0.15s; }
.ecm-breadcrumbs__trail a:hover { color: var(--orange); }
.ecm-breadcrumbs__current { color: var(--ink); }
.ecm-breadcrumbs__lang { display: flex; gap: 18px; }
.ecm-breadcrumbs__lang .dim { color: rgba(10,10,10,0.3); }

/* Util bar author link */
.ecm-utilbar__author {
	color: inherit;
	border-bottom: 1px solid rgba(245,242,236,0.35);
	transition: color 0.15s, border-color 0.15s;
}
.ecm-utilbar__author:hover {
	color: var(--orange);
	border-bottom-color: var(--orange);
}

/* Util bar WhatsApp CTA — bright pill on the right side, attention-grabbing.
   Goal: turn passive "odpowiedź w 24h" copy into an action button. */
.ecm-utilbar__whatsapp {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px 12px;
	background: var(--orange);
	color: var(--ink);
	font-weight: 700;
	letter-spacing: 0.14em;
	transition: background 0.15s, transform 0.15s, color 0.15s;
	white-space: nowrap;
}
.ecm-utilbar__whatsapp:hover,
.ecm-utilbar__whatsapp:focus-visible {
	background: var(--ink);
	color: var(--orange);
	transform: translateY(-1px);
}
.ecm-utilbar__whatsapp-ico { flex-shrink: 0; }
@media (max-width: 640px) {
	.ecm-utilbar__whatsapp { padding: 3px 8px; gap: 5px; }
	.ecm-utilbar__whatsapp-ico { width: 12px; height: 12px; }
}

@media (max-width: 1100px) {
	.ecm-nav { height: 100px; }
	.ecm-nav__logo img { height: 72px; }
	.ecm-nav__toggle { display: flex; order: -1; margin-right: 16px; }
	/* Drawer: full-width panel under the header */
	.ecm-nav__list {
		display: none;
		position: absolute;
		top: 100%; left: 0; right: 0;
		flex-direction: column;
		align-items: stretch; justify-content: flex-start;
		gap: 0;
		background: var(--cream);
		border-top: 1px solid var(--ink-line);
		border-bottom: 1px solid var(--ink-line);
		padding: 16px 0;
		max-height: calc(100vh - 100px);
		overflow-y: auto;
		z-index: 99;
		box-shadow: 0 16px 32px -12px rgba(10,10,10,0.18);
	}
	.ecm-nav.is-open .ecm-nav__list { display: flex; }
	.ecm-nav__list > li { width: 100%; }
	.ecm-nav__list > li > a {
		display: flex;
		padding: 14px var(--gutter);
		font-size: 18px; font-weight: 600;
	}
	.ecm-nav__list a:hover { border-bottom: 0; padding-bottom: 14px; background: var(--cream-2); color: var(--orange); }
	.ecm-nav__list .menu-item-has-children > a::after {
		margin-left: auto;
		transform: rotate(45deg);
	}
	/* In drawer, submenu is always expanded (indented), no hover dropdown */
	.ecm-nav__list .sub-menu {
		position: static;
		opacity: 1; pointer-events: auto;
		transform: none;
		box-shadow: none; border: 0;
		background: transparent;
		padding: 0 0 8px 0;
	}
	.ecm-nav__list .sub-menu a {
		padding: 10px calc(var(--gutter) + 24px);
		font-size: 16px; font-weight: 400;
		color: var(--ink-soft);
	}
}
@media (max-width: 740px) {
	.ecm-nav { height: 84px; }
	.ecm-nav__logo img { height: 60px; }
	/* Cart shrinks to icon-only on mobile, CTA stays full */
	.ecm-nav__cart {
		padding: 9px 10px;
		gap: 6px;
	}
	.ecm-nav__cart-icon { display: block; }
	.ecm-nav__cart-label { display: none; }
	.ecm-nav__cta { padding: 10px 14px; font-size: 12px; gap: 8px; }
	.ecm-nav__actions { gap: 8px; }
	.ecm-nav__list { max-height: calc(100vh - 84px); }
	.ecm-breadcrumbs { font-size: 9px; padding: 8px 16px; }
	.ecm-breadcrumbs__lang { display: none; }
}
/* CTA hides at 600px so the bigger logo doesn't fight for space with hamburger + cart on mid-mobile. */
@media (max-width: 600px) {
	.ecm-nav__cta { display: none; }
}
@media (max-width: 480px) {
	.ecm-nav { height: 76px; }
	.ecm-nav__logo img { height: 52px; }
	.ecm-nav__list { max-height: calc(100vh - 76px); }
}

/* ---------- SECTION COMMON ---------- */
.ecm-section {
	padding: clamp(80px, 8vw, 140px) var(--gutter);
	font-family: var(--ff-body);
	color: var(--ink);
}
.ecm-section--cream-2 {
	background: var(--cream-2);
	border-top: 1px solid rgba(10,10,10,0.08);
}
.ecm-section--cream-2 + .ecm-section { border-top: 1px solid rgba(10,10,10,0.08); }


.ecm-eyebrow {
	display: flex; align-items: center; gap: 16px;
	margin-bottom: 32px;
	font-family: var(--ff-mono);
	font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--ink-muted);
	flex-wrap: wrap;
}
.ecm-eyebrow__num { color: var(--orange); }
.ecm-eyebrow__line { width: 48px; height: 1px; background: rgba(10,10,10,0.3); }
.ecm-eyebrow__dot { width: 6px; height: 6px; background: var(--orange); border-radius: 50%; }
.ecm-eyebrow__kicker { color: var(--ink); }

.ecm-h2 {
	font-family: var(--ff-display);
	font-weight: 900;
	font-size: clamp(48px, 7vw, 96px);
	letter-spacing: -0.055em; line-height: 0.9;
	margin: 0 0 60px; text-transform: uppercase;
	max-width: 1500px;
	text-wrap: balance;
}
.ecm-h2 .accent { color: var(--orange); }
.ecm-h2 .muted { color: rgba(10,10,10,0.45); }

/* ---------- HERO ---------- */
.ecm-hero {
	background: var(--cream); color: var(--ink);
	padding: clamp(56px, 6vw, 80px) var(--gutter) clamp(72px, 8vw, 100px);
	position: relative; overflow: hidden;
}
.ecm-hero__eyebrow {
	display: flex; align-items: center; gap: 18px; margin-bottom: 56px;
	font-family: var(--ff-mono);
	font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--ink-muted);
	flex-wrap: wrap;
}
.ecm-hero__eyebrow .dotR {
	width: 10px; height: 10px; background: var(--orange); border-radius: 50%;
}
.ecm-hero__eyebrow .line {
	width: 60px; height: 1px; background: rgba(10,10,10,0.25);
}
.ecm-hero__h1 {
	font-family: var(--ff-display); font-weight: 900;
	font-size: clamp(64px, 14vw, 228px);
	letter-spacing: -0.065em; line-height: 0.84;
	margin: 0 0 56px; text-transform: uppercase; text-wrap: balance;
}
.ecm-hero__h1 .accent { color: var(--orange); }
.ecm-hero__grid {
	display: grid; grid-template-columns: 1.4fr 1fr;
	gap: clamp(40px, 5vw, 96px);
	align-items: flex-end;
}
@media (max-width: 1100px) {
	.ecm-hero__grid { grid-template-columns: 1fr; }
}
.ecm-hero__lead {
	font-family: var(--ff-display); font-weight: 700;
	font-size: clamp(24px, 3vw, 44px);
	letter-spacing: -0.03em; line-height: 1.05;
	margin: 0 0 28px; max-width: 980px;
}
.ecm-hero__lead .underline {
	border-bottom: 3px solid var(--orange); padding-bottom: 2px;
}
.ecm-hero__copy {
	font-size: clamp(16px, 1.4vw, 21px); line-height: 1.55;
	color: var(--ink-soft); max-width: 820px; margin: 0;
	text-wrap: pretty;
}
.ecm-hero__ctas {
	display: flex; gap: 14px; margin-top: 44px; flex-wrap: wrap;
}
.ecm-btn {
	padding: 22px 30px;
	font-weight: 700; font-size: 14px; letter-spacing: 0.06em;
	text-transform: uppercase;
	display: inline-flex; align-items: center; gap: 14px;
}
.ecm-btn--dark { background: var(--ink); color: var(--cream); }
.ecm-btn--dark .arrow { color: var(--orange); }
.ecm-btn--outline { border: 1.5px solid var(--ink); color: var(--ink); }
.ecm-btn--text {
	color: var(--ink); border-bottom: 1.5px solid var(--ink);
	padding: 22px 0;
}
.ecm-btn--orange {
	background: var(--orange); color: var(--ink); font-weight: 800;
}
.ecm-btn--cream-outline {
	background: transparent; color: var(--cream); border: 1.5px solid var(--cream);
	font-weight: 800;
}

.ecm-hero__facts {
	margin: 0; padding: 0;
	display: grid; grid-template-columns: 1fr 1fr; gap: 0;
	border: 1px solid var(--ink-line);
}
.ecm-hero__facts > div {
	padding: 32px 28px;
}
.ecm-hero__facts > div:nth-child(odd) { border-right: 1px solid var(--ink-line); }
.ecm-hero__facts > div:nth-child(1),
.ecm-hero__facts > div:nth-child(2) { border-bottom: 1px solid var(--ink-line); }
.ecm-hero__facts dt {
	font-family: var(--ff-display); font-weight: 900;
	font-size: clamp(32px, 3.5vw, 56px);
	letter-spacing: -0.05em; line-height: 1; color: var(--ink);
}
.ecm-hero__facts dd {
	margin: 10px 0 0;
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--ink-muted);
}

/* ---------- SUMMARY ---------- */
.ecm-summary { padding: clamp(48px, 5vw, 72px) var(--gutter); }
.ecm-summary__grid {
	display: grid; grid-template-columns: 260px minmax(0, 760px);
	gap: 60px; align-items: flex-start;
	justify-content: center;
}
@media (max-width: 1100px) {
	.ecm-summary__grid { grid-template-columns: 1fr; gap: 32px; }
}
.ecm-summary__head { position: sticky; top: 32px; }
@media (max-width: 1100px) { .ecm-summary__head { position: static; } }
.ecm-summary__photo { margin: 0 0 22px; }
.ecm-summary__photo img {
	display: block; width: 100%; max-width: 240px; height: auto;
	aspect-ratio: 1 / 1; object-fit: cover;
	background: var(--orange);
}
@media (max-width: 1100px) {
	.ecm-summary__photo img { max-width: 160px; }
}
.ecm-summary__photo figcaption {
	font-family: var(--ff-display); font-weight: 800;
	font-size: 18px; line-height: 1.2; margin-top: 14px;
	display: flex; flex-direction: column; gap: 4px;
}
.ecm-summary__photo figcaption span {
	font-family: var(--ff-mono); font-weight: 500;
	font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--ink-muted);
}
.ecm-summary__label {
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--orange); margin-bottom: 12px;
}
.ecm-summary__title {
	font-family: var(--ff-display); font-weight: 800;
	font-size: clamp(28px, 3vw, 36px);
	letter-spacing: -0.035em; line-height: 1;
	margin: 0; text-transform: uppercase;
}
.ecm-summary__body { display: grid; gap: 22px; max-width: 760px; }
.ecm-summary p { font-size: 18px; line-height: 1.6; margin: 0; text-wrap: pretty; }

/* contact block — reuses kalkulator CTA styles (.ksa-cta-*) for site-wide
   consistency. No bespoke button CSS here on purpose: single source of truth. */
.ecm-summary__contact {
	margin-top: 18px; max-width: 520px;
}
.ecm-summary__contact-lead {
	font-size: clamp(20px, 2.2vw, 26px) !important;
	line-height: 1.35 !important;
	margin: 0 0 18px !important;
}
.ecm-summary__contact-lead strong { color: var(--orange); }

/* WhatsApp variant — reużywa .ksa-cta-buy, tylko kolory marki WA */
.ksa-cta-buy--wa { background: #25D366 !important; color: #fff !important; margin-bottom: 14px !important; }
.ksa-cta-buy--wa::after { color: #fff !important; }
.ksa-cta-buy--wa:hover { background: #1ebe5d !important; color: #fff !important; }

/* ---------- PRODUCT SECTION ---------- */
.ecm-product__grid {
	display: grid; grid-template-columns: 1.4fr 1fr;
	gap: clamp(40px, 5vw, 96px); align-items: flex-start;
}
@media (max-width: 1100px) {
	.ecm-product__grid { grid-template-columns: 1fr; }
}
.ecm-product__title {
	font-family: var(--ff-display); font-weight: 900;
	font-size: clamp(48px, 7vw, 104px);
	letter-spacing: -0.06em; line-height: 0.88;
	margin: 0 0 40px; text-transform: uppercase; text-wrap: balance;
}
.ecm-product__title .accent { color: var(--orange); }
.ecm-product__p {
	font-size: 21px; line-height: 1.6; margin: 0 0 24px; max-width: 920px; text-wrap: pretty;
}
.ecm-product__p2 {
	font-size: 18px; line-height: 1.6; margin: 0; max-width: 920px; color: var(--ink-soft);
}
.ecm-product__p2 a { color: var(--ink); border-bottom: 1.5px solid var(--orange); }
.ecm-features {
	margin-top: 56px;
	display: grid; grid-template-columns: 1fr 1fr;
	gap: 32px 56px;
}
@media (max-width: 740px) { .ecm-features { grid-template-columns: 1fr; gap: 24px; } }
.ecm-feature__num {
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.2em; color: var(--orange); margin-bottom: 8px;
}
.ecm-feature h3 {
	font-family: var(--ff-display); font-weight: 800;
	font-size: 24px; letter-spacing: -0.025em; line-height: 1.05;
	margin: 0 0 10px; text-transform: uppercase;
}
.ecm-feature p { font-size: 15px; line-height: 1.5; color: var(--ink-soft); margin: 0; }

.ecm-aside-card {
	padding: 44px 36px;
	border: 1.5px solid var(--ink);
	background: var(--cream);
	position: sticky; top: 120px;
}
.ecm-aside-card__label {
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--orange); margin-bottom: 12px;
}
.ecm-aside-card h3 {
	font-family: var(--ff-display); font-weight: 800;
	font-size: 28px; letter-spacing: -0.03em; line-height: 1.05;
	margin: 0 0 24px; text-transform: uppercase;
}
.ecm-aside-card ul { list-style: none; padding: 0; margin: 0; }
.ecm-aside-card li {
	display: flex; align-items: center; justify-content: space-between;
	padding: 16px 0; border-bottom: 1px solid rgba(10,10,10,0.12);
	font-size: 15px; font-weight: 600;
}
.ecm-aside-card li .check { color: var(--orange); }
.ecm-aside-card__price {
	margin-top: 32px;
	font-family: var(--ff-display); font-weight: 900;
	font-size: clamp(48px, 5vw, 64px); letter-spacing: -0.05em; line-height: 1;
}
.ecm-aside-card__price .zl { font-size: 28px; margin-left: 4px; }
.ecm-aside-card__sub {
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--ink-muted); margin-top: 4px;
}
.ecm-aside-card__cta {
	display: flex; margin-top: 24px;
	padding: 18px 22px; background: var(--ink); color: var(--cream);
	font-weight: 700; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase;
	justify-content: space-between; align-items: center;
}
.ecm-aside-card__cta .arrow { color: var(--orange); }
.ecm-aside-card__cta + .ecm-aside-card__cta { margin-top: 12px; }
.ecm-aside-card__cta--orange {
	background: var(--orange); color: var(--ink);
	transition: color 0.15s ease, background 0.15s ease;
}
.ecm-aside-card__cta--orange .arrow { color: var(--ink); transition: color 0.15s ease; }
.ecm-aside-card__cta--orange:hover,
.ecm-aside-card__cta--orange:hover .arrow {
	color: #fff;
}

/* ---------- CASE STUDY ---------- */
.ecm-case__grid {
	display: grid; grid-template-columns: 1.05fr 1fr;
	gap: 64px; align-items: stretch;
}
@media (max-width: 1100px) { .ecm-case__grid { grid-template-columns: 1fr; } }
.ecm-case__big {
	background: var(--ink); color: var(--cream);
	padding: 56px 48px; display: flex; flex-direction: column; justify-content: space-between;
}
.ecm-case__big-label {
	font-family: var(--ff-mono);
	font-size: 24px; letter-spacing: 0.16em; text-transform: uppercase;
	color: var(--cream);
}
.ecm-case__big-number {
	font-family: var(--ff-display); font-weight: 900;
	font-size: clamp(56px, 7vw, 116px);
	letter-spacing: -0.05em; line-height: 0.9;
	margin: 32px 0; color: var(--cream);
	white-space: nowrap;
}
.ecm-case__big-number .zl { color: var(--orange); font-size: clamp(30px, 3.4vw, 58px); }
.ecm-case__table .pct { font-weight: 400; color: var(--ink-muted); font-size: 0.85em; }
.ecm-case__big-foot {
	font-family: var(--ff-mono);
	font-size: 24px; letter-spacing: 0.12em; text-transform: uppercase; line-height: 1.4;
	display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap;
	color: var(--cream);
}
.ecm-case__breakdown { display: flex; flex-direction: column; justify-content: space-between; }
.ecm-case__sublabel {
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--ink-muted); margin-bottom: 8px;
}
.ecm-case__table { width: 100%; border-collapse: collapse; }
.ecm-case__table tr { border-bottom: 1px solid var(--ink-line); }
.ecm-case__table th {
	text-align: left; padding: 20px 0; font-weight: 500; font-size: 17px;
	width: 210px; color: var(--ink); white-space: nowrap;
}
.ecm-case__table td { padding: 20px 16px; vertical-align: middle; }
.ecm-case__table .bar { width: 100%; max-width: 200px; height: 6px; background: rgba(10,10,10,0.08); position: relative; }
.ecm-case__table .bar > span {
	position: absolute; left: 0; top: 0; bottom: 0;
	background: var(--ink);
}
.ecm-case__table .val {
	padding: 20px 0; text-align: right;
	font-variant-numeric: tabular-nums; font-weight: 500; font-size: 17px;
	width: 140px;
}
.ecm-case__table tr.hl th { font-weight: 700; font-size: 21px; }
.ecm-case__table tr.hl .val { font-weight: 700; font-size: 21px; color: var(--orange); }
.ecm-case__table tr.hl .bar > span { background: var(--orange); }
.ecm-case__p { font-size: 16px; line-height: 1.6; color: var(--ink-soft); margin-top: 32px; max-width: 720px; }
.ecm-case__btn {
	margin-top: 24px; align-self: flex-start;
	padding: 18px 26px; background: var(--ink); color: var(--cream);
	font-weight: 700; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase;
	display: inline-flex; align-items: center; gap: 12px;
}
.ecm-case__btn .arrow { color: var(--orange); }
.ecm-case__btn, .ecm-case__btn:hover, .ecm-case__btn:focus, .ecm-case__btn:visited { color: #fff !important; text-decoration: none !important; -webkit-user-select: text; user-select: text; }

/* ---- BaseLinker proof + lightbox ---- */
.ecm-case__proofs {
	margin-top: 48px;
	display: flex; flex-direction: column; gap: 28px;
}
.ecm-case__proof-card {
	display: flex; align-items: stretch;
	width: 100%; border: 1.5px solid var(--ink);
}
.ecm-case__proof-img {
	display: block; width: 58%; padding: 0; margin: 0;
	border: 0; border-right: 1.5px solid var(--ink);
	background: var(--cream); cursor: zoom-in;
	transition: filter 0.18s ease;
}
.ecm-case__proof-img:hover { filter: brightness(1.04); }
.ecm-case__proof-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ecm-case__proof-cap {
	flex: 1;
	display: flex; flex-direction: column; justify-content: center;
	gap: 16px; padding: clamp(24px, 3vw, 40px);
	background: var(--orange); color: #fff;
}
.ecm-case__proof-eye {
	font-family: var(--ff-mono); font-size: 11px; letter-spacing: 0.2em;
	text-transform: uppercase; color: #fff; opacity: 0.85;
}
.ecm-case__proof-main {
	font-family: var(--ff-display); font-weight: 900;
	font-size: clamp(24px, 2.6vw, 32px); line-height: 1.15;
	letter-spacing: -0.02em; color: var(--ink);
}
.ecm-case__proof-cta {
	align-self: flex-start; margin-top: 4px;
	padding: 16px 24px; font-size: 13px;
}
.ecm-case__proof-cta .arrow { color: var(--orange); }
@media (max-width: 640px) {
	.ecm-case__proof-card { flex-direction: column; }
	.ecm-case__proof-img { width: 100%; border-right: 0; border-bottom: 1.5px solid var(--ink); }
}
.ecm-lightbox {
	position: fixed; inset: 0; z-index: 9999;
	background: rgba(10,10,10,0.92);
	display: flex; align-items: center; justify-content: center;
	padding: clamp(12px, 3vw, 40px); cursor: zoom-out;
}
.ecm-lightbox[hidden] { display: none; }
.ecm-lightbox img {
	max-width: 100%; max-height: 100%;
	width: auto; height: auto; object-fit: contain;
	box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
.ecm-lightbox__close {
	position: absolute; top: 16px; right: 20px;
	width: 44px; height: 44px; cursor: pointer;
	background: transparent; border: 0; color: var(--cream);
	font-size: 36px; line-height: 1;
}

/* ---------- PROBLEMS ---------- */
.ecm-problems__grid {
	display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px;
}
@media (max-width: 1100px) { .ecm-problems__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 740px) { .ecm-problems__grid { grid-template-columns: 1fr; } }
.ecm-pcard {
	background: var(--cream); border: 1.5px solid var(--ink);
	padding: 44px 36px;
	display: flex; flex-direction: column; gap: 24px;
}
.ecm-pcard__head {
	display: flex; align-items: center; gap: 12px;
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--ink-muted);
}
.ecm-pcard__head .num { color: var(--orange); }
.ecm-pcard__head .line { flex: 1; height: 1px; background: rgba(10,10,10,0.15); }
.ecm-pcard h3 {
	font-family: var(--ff-display); font-weight: 900;
	font-size: clamp(28px, 3vw, 38px); letter-spacing: -0.035em; line-height: 1;
	margin: 0; text-transform: uppercase;
}
.ecm-pcard p { font-size: 16px; line-height: 1.55; margin: 0; color: var(--ink-soft); }
.ecm-pcard ul { list-style: none; padding: 0; margin: auto 0 0; display: flex; flex-direction: column; gap: 0; }
.ecm-pcard li {
	display: flex; align-items: flex-start; gap: 12px;
	padding: 12px 0; border-top: 1px solid rgba(10,10,10,0.12);
	font-size: 15px; font-weight: 500;
}
.ecm-pcard li .num {
	color: var(--orange); font-family: var(--ff-mono); font-size: 11px;
}
.ecm-pcard__link {
	margin-top: 8px;
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 700;
	color: var(--ink); border-bottom: 1.5px solid var(--ink);
	align-self: flex-start; padding-bottom: 4px;
}

/* ---------- PRICING ---------- */
.ecm-pricing__grid {
	display: grid; grid-template-columns: 1.3fr 1fr;
	gap: clamp(40px, 4vw, 80px); align-items: stretch;
}
@media (max-width: 1100px) { .ecm-pricing__grid { grid-template-columns: 1fr; } }
.ecm-pricing__title {
	font-family: var(--ff-display); font-weight: 900;
	font-size: clamp(48px, 7vw, 104px);
	letter-spacing: -0.06em; line-height: 0.86;
	margin: 0 0 24px; text-transform: uppercase;
}
.ecm-pricing__title .accent { color: var(--orange); }
.ecm-pricing__p {
	font-size: 19px; line-height: 1.55; margin-bottom: 48px; max-width: 760px; color: var(--ink-soft);
}
.ecm-pricing__grid-items {
	display: grid; grid-template-columns: 1fr 1fr; gap: 0;
	border: 1.5px solid var(--ink);
}
@media (max-width: 640px) { .ecm-pricing__grid-items { grid-template-columns: 1fr; } }
.ecm-pricing__item {
	padding: 32px 28px;
}
.ecm-pricing__item:nth-child(odd) { border-right: 1px solid rgba(10,10,10,0.18); }
.ecm-pricing__item:nth-child(-n+4) { border-bottom: 1px solid rgba(10,10,10,0.18); }
@media (max-width: 640px) {
	.ecm-pricing__item { border-right: none !important; border-bottom: 1px solid rgba(10,10,10,0.18) !important; }
	.ecm-pricing__item:last-child { border-bottom: none !important; }
}
.ecm-pricing__item-num {
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.22em;
	color: var(--orange); margin-bottom: 16px;
}
.ecm-pricing__item h3 {
	font-family: var(--ff-display); font-weight: 800;
	font-size: 24px; letter-spacing: -0.025em; line-height: 1.05;
	text-transform: uppercase; margin: 0 0 8px;
}
.ecm-pricing__item p { font-size: 14px; color: var(--ink-soft); line-height: 1.5; margin: 0; }

.ecm-pricing__aside {
	background: var(--ink); color: var(--cream);
	padding: 56px 44px;
	display: flex; flex-direction: column; justify-content: space-between;
}
.ecm-pricing__aside-label {
	font-family: var(--ff-mono);
	font-size: 12px; letter-spacing: 0.24em; text-transform: uppercase;
	color: var(--cream-on-dk-mute);
}
.ecm-pricing__aside-price {
	font-family: var(--ff-display); font-weight: 900;
	font-size: clamp(96px, 12vw, 200px);
	letter-spacing: -0.07em; line-height: 0.86;
	margin: 32px 0 8px;
}
.ecm-pricing__aside-price .zl { color: var(--orange); font-size: clamp(40px, 4vw, 80px); }
.ecm-pricing__aside-sub {
	font-family: var(--ff-mono);
	font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase;
	color: var(--cream-on-dk-mute);
}
.ecm-pricing__aside ul { list-style: none; padding: 0; margin: 44px 0; }
.ecm-pricing__aside li {
	display: flex; align-items: center; justify-content: space-between;
	padding: 14px 0; border-bottom: 1px solid var(--cream-on-dk-line);
	font-weight: 600; font-size: 14px; letter-spacing: 0.01em; text-transform: uppercase;
}
.ecm-pricing__aside li .check { color: var(--orange); font-family: var(--ff-mono); font-size: 12px; }
.ecm-pricing__aside-ctas { display: flex; flex-direction: column; gap: 10px; }
.ecm-pricing__aside-ctas .ecm-btn { padding: 20px 24px; justify-content: space-between; width: 100%; }

/* ---------- STORES ---------- */
.ecm-stores__head {
	display: flex; justify-content: space-between; align-items: flex-end;
	gap: 40px; margin-bottom: 56px; flex-wrap: wrap;
}
.ecm-stores__title {
	font-family: var(--ff-display); font-weight: 900;
	font-size: clamp(40px, 7vw, 96px);
	letter-spacing: -0.055em; line-height: 0.88;
	margin: 0; text-transform: uppercase; max-width: 1200px;
}
.ecm-stores__title .accent { color: var(--orange); }
.ecm-stores__link {
	padding: 18px 24px; border: 1.5px solid var(--ink); color: var(--ink);
	font-weight: 700; font-size: 13px; letter-spacing: 0.08em;
	text-transform: uppercase; flex-shrink: 0;
}
.ecm-stores__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 40px; }
.ecm-chip {
	padding: 8px 14px;
	background: transparent; color: var(--ink);
	border: 1px solid var(--ink);
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 600;
}
.ecm-chip--active { background: var(--ink); color: var(--cream); }
.ecm-stores__grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
}
@media (max-width: 1100px) { .ecm-stores__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 740px) { .ecm-stores__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .ecm-stores__grid { grid-template-columns: 1fr; } }
.ecm-storecard { display: flex; flex-direction: column; gap: 14px; }
.ecm-storecard__media {
	display: block; width: 100%;
	border: 1.5px solid var(--ink);
	position: relative; overflow: hidden;
	background: var(--cream); line-height: 0;
}
.ecm-storecard__media img {
	display: block; width: 100%; height: auto;
	transition: transform 0.3s ease;
}
.ecm-storecard__media:hover img { transform: scale(1.03); }
.ecm-storecard__hot { z-index: 2; }
.ecm-storecard__top {
	position: absolute; top: 14px; left: 14px; right: 14px;
	display: flex; justify-content: space-between;
	font-family: var(--ff-mono);
	font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
	color: rgba(10,10,10,0.65);
}
.ecm-storecard__title {
	position: absolute; left: 18px; right: 18px; top: 40%;
	font-family: var(--ff-display); font-weight: 900;
	font-size: 28px; line-height: 0.92; letter-spacing: -0.04em;
	text-transform: uppercase; color: var(--ink);
}
.ecm-storecard__title .accent { color: var(--orange); }
.ecm-storecard__hot {
	position: absolute; top: 0; right: 0; background: var(--orange); color: var(--ink);
	padding: 6px 12px; font-family: var(--ff-mono);
	font-size: 10px; letter-spacing: 0.2em; font-weight: 700;
}
.ecm-storecard__cat {
	position: absolute; bottom: 14px; left: 14px;
	background: var(--ink); color: var(--cream);
	padding: 5px 9px; font-family: var(--ff-mono);
	font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
}
.ecm-storecard__row { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.ecm-storecard h3 {
	font-family: var(--ff-display); font-weight: 800;
	font-size: 17px; letter-spacing: -0.02em; text-transform: uppercase; line-height: 1.15;
	margin: 0;
}
.ecm-storecard__price {
	font-family: var(--ff-mono); font-size: 13px; font-weight: 700;
	white-space: nowrap;
}
.ecm-storecard__cta {
	padding: 12px 14px; background: transparent; color: var(--ink);
	border: 1.5px solid var(--ink);
	font-weight: 700; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
	display: flex; justify-content: space-between; align-items: center;
}

/* ---------- SEO LONG-FORM ---------- */
.ecm-seo__title { margin-bottom: 60px; }
.ecm-seo__grid {
	display: grid; grid-template-columns: 260px 1fr; gap: 80px; align-items: flex-start;
}
@media (max-width: 1100px) { .ecm-seo__grid { grid-template-columns: 1fr; gap: 40px; } }
.ecm-toc {
	position: sticky; top: 120px;
	padding: 24px 0;
	border-top: 1.5px solid var(--ink); border-bottom: 1.5px solid var(--ink);
}
.ecm-toc__label {
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--orange); margin-bottom: 16px;
}
.ecm-toc ol {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-direction: column; gap: 10px;
	font-size: 14px; font-weight: 500;
}
.ecm-toc li { display: flex; gap: 12px; }
.ecm-toc li > span {
	font-family: var(--ff-mono); color: rgba(10,10,10,0.55); font-size: 11px;
}
.ecm-articles { display: flex; flex-direction: column; gap: 56px; }
.ecm-article { padding-bottom: 56px; border-bottom: 1px solid var(--ink-line); }
.ecm-article:last-child { border-bottom: none; }
.ecm-article__num {
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--orange); margin-bottom: 10px;
}
.ecm-article h3 {
	font-family: var(--ff-display); font-weight: 900;
	font-size: clamp(28px, 4vw, 44px); letter-spacing: -0.04em; line-height: 1;
	margin: 0 0 24px; text-transform: uppercase; text-wrap: balance;
}
.ecm-article p { font-size: 19px; line-height: 1.6; max-width: 980px; margin: 0 0 18px; text-wrap: pretty; }
.ecm-article__link {
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 700;
	color: var(--ink); border-bottom: 1.5px solid var(--orange);
	padding-bottom: 3px; display: inline-block;
}

/* ---------- FAQ ---------- */
.ecm-faq__grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: clamp(40px, 5vw, 80px); }
@media (max-width: 1100px) { .ecm-faq__grid { grid-template-columns: 1fr; } }
.ecm-faq__title {
	font-family: var(--ff-display); font-weight: 900;
	font-size: clamp(48px, 7vw, 96px); letter-spacing: -0.055em; line-height: 0.88;
	margin: 0; text-transform: uppercase; text-wrap: balance;
}
.ecm-faq__title .accent { color: var(--orange); }
.ecm-faq__p { font-size: 18px; line-height: 1.55; margin-top: 28px; max-width: 460px; color: var(--ink-soft); }
.ecm-faq__list { margin: 0; }
.ecm-faq__item {
	border-top: 1.5px solid var(--ink);
}
.ecm-faq__item:last-child { border-bottom: 1.5px solid var(--ink); }
.ecm-faq__q {
	width: 100%; text-align: left;
	background: transparent; border: 0; cursor: pointer;
	padding: 26px 0;
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
	font-family: var(--ff-display); font-weight: 800;
	font-size: clamp(18px, 2vw, 22px); letter-spacing: -0.025em;
	color: var(--ink); text-transform: uppercase;
}
.ecm-faq__q-name { display: flex; gap: 18px; align-items: baseline; text-align: left; }
.ecm-faq__q-num {
	font-family: var(--ff-mono); font-size: 12px; color: var(--orange); letter-spacing: 0.18em;
}
.ecm-faq__plus {
	width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0;
	background: transparent; border: 1.5px solid var(--ink);
	display: flex; align-items: center; justify-content: center;
	font-size: 18px; font-weight: 700;
	transition: transform 0.2s, background 0.2s;
}
.ecm-faq__item[open] .ecm-faq__plus { background: var(--orange); transform: rotate(45deg); }
.ecm-faq__a {
	margin: 0 0 28px; padding-left: 50px; padding-right: 56px;
	font-size: 17px; line-height: 1.6; color: var(--ink-soft); max-width: 820px;
}

/* ---------- CONTACT ---------- */
.ecm-contact__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(40px, 5vw, 96px); align-items: stretch; }
@media (max-width: 1100px) { .ecm-contact__grid { grid-template-columns: 1fr; } }
.ecm-contact__title {
	font-family: var(--ff-display); font-weight: 900;
	font-size: clamp(48px, 8vw, 108px);
	letter-spacing: -0.06em; line-height: 0.88;
	margin: 0; text-transform: uppercase;
}
.ecm-contact__title .accent { color: var(--orange); }
.ecm-contact__p { font-size: 19px; line-height: 1.55; max-width: 580px; margin-top: 32px; color: var(--ink-soft); }
.ecm-contact__facts {
	margin: 56px 0 0;
	display: grid; grid-template-columns: 1fr; gap: 28px;
}
@media (max-width: 640px) { .ecm-contact__facts { grid-template-columns: 1fr; } }
.ecm-contact__facts dt {
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--ink-muted); margin-bottom: 6px;
}
.ecm-contact__facts dd { margin: 0; font-weight: 700; font-size: 18px; }
.ecm-form {
	background: var(--ink); color: var(--cream);
	padding: 44px 40px; display: flex; flex-direction: column; gap: 26px;
}
.ecm-form__label {
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--orange);
}
.ecm-form label { display: flex; flex-direction: column; gap: 8px; }
.ecm-form label > span {
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--cream-on-dk-mute);
}
.ecm-form input, .ecm-form textarea {
	background: transparent; border: 0;
	border-bottom: 1.5px solid rgba(245,242,236,0.4);
	padding: 10px 0;
	font-family: var(--ff-body); font-size: 16px; font-weight: 500;
	color: var(--cream) !important; -webkit-text-fill-color: var(--cream);
	caret-color: var(--orange); outline: none; resize: none;
}
.ecm-form input::placeholder, .ecm-form textarea::placeholder { color: var(--cream-on-dk-mute); -webkit-text-fill-color: var(--cream-on-dk-mute); }
.ecm-form input:-webkit-autofill, .ecm-form input:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--cream);
	-webkit-box-shadow: 0 0 0 1000px var(--ink) inset;
	caret-color: var(--cream);
	transition: background-color 9999s ease-in-out 0s;
}
.ecm-form__notice { font-family: var(--ff-body); font-size: 14px; line-height: 1.5; padding: 12px 14px; margin: 0; }
.ecm-form__notice--ok { background: rgba(110,231,183,0.14); color: #6ee7b7; border-left: 3px solid #6ee7b7; }
.ecm-form__notice--err { background: rgba(255,90,31,0.16); color: var(--orange); border-left: 3px solid var(--orange); }
.ecm-form button {
	margin-top: 8px; padding: 20px 24px; background: var(--orange); color: var(--ink);
	border: 0; font-weight: 800; font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase;
	display: flex; justify-content: space-between; align-items: center; cursor: pointer;
}

/* ---------- GOOGLE REVIEWS ---------- */
.ecm-reviews {
	background: var(--cream);
	border-top: 1px solid rgba(10,10,10,0.08);
}
.ecm-reviews .ecm-h2 {
	font-size: clamp(48px, 8vw, 110px);
	letter-spacing: -0.05em;
	line-height: 0.92;
	color: var(--orange);
	margin: 0;
	max-width: 100%;
}
.ecm-reviews .ecm-h2 .muted {
	display: block;
	color: var(--ink);
	font-size: clamp(20px, 2vw, 28px);
	letter-spacing: -0.025em;
	margin-top: 6px;
	text-transform: uppercase;
	font-weight: 700;
}
.ecm-reviews__head {
	display: flex; justify-content: space-between; align-items: flex-end;
	gap: 40px; margin-bottom: 56px; flex-wrap: wrap;
}
.ecm-reviews__all {
	padding: 18px 24px; border: 1.5px solid var(--ink); color: var(--ink);
	font-weight: 700; font-size: 13px; letter-spacing: 0.08em;
	text-transform: uppercase; flex-shrink: 0;
	display: inline-flex; align-items: center; gap: 12px;
}
.ecm-reviews__all .arrow { color: var(--orange); }
.ecm-reviews__all:hover { background: var(--ink); color: var(--cream); }
.ecm-reviews__all:hover .arrow { color: var(--orange); }

/* Karuzela opinii: 3 widoczne na desktopie, strzałki ‹ › do przewijania */
.ecm-reviews__carousel { position: relative; }
.ecm-reviews__grid {
	display: flex; gap: 24px;
	overflow-x: auto; overflow-y: hidden;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding: 6px 2px 14px;
	scrollbar-width: none;
}
.ecm-reviews__grid::-webkit-scrollbar { display: none; }
.ecm-reviews__grid > .ecm-review {
	flex: 0 0 calc((100% - 72px) / 4);
	scroll-snap-align: start;
}
@media (max-width: 1280px) {
	.ecm-reviews__grid > .ecm-review { flex-basis: calc((100% - 48px) / 3); }
}
@media (max-width: 1024px) {
	.ecm-reviews__grid > .ecm-review { flex-basis: calc((100% - 24px) / 2); }
}
@media (max-width: 680px) {
	.ecm-reviews__grid > .ecm-review { flex-basis: 88%; }
}
.ecm-reviews__nav {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
	width: 48px; height: 48px; border: 1.5px solid var(--ink);
	background: var(--cream); color: var(--ink);
	font-size: 24px; line-height: 1; cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	transition: background 0.15s, color 0.15s, opacity 0.15s;
}
.ecm-reviews__nav:hover { background: var(--ink); color: var(--cream); }
.ecm-reviews__nav--prev { left: -10px; }
.ecm-reviews__nav--next { right: -10px; }
.ecm-reviews__carousel.at-start .ecm-reviews__nav--prev,
.ecm-reviews__carousel.at-end .ecm-reviews__nav--next {
	opacity: 0; pointer-events: none;
}
@media (max-width: 1100px) {
	.ecm-reviews__nav--prev { left: 0; }
	.ecm-reviews__nav--next { right: 0; }
}

.ecm-review {
	background: var(--cream); border: 1.5px solid var(--ink);
	padding: 28px 28px;
	display: flex; flex-direction: column; gap: 18px;
	transition: transform 0.2s, box-shadow 0.2s;
}
.ecm-review:hover {
	transform: translateY(-3px);
	box-shadow: 6px 6px 0 0 var(--orange);
}
.ecm-review__head {
	display: grid; grid-template-columns: 48px 1fr auto; gap: 14px; align-items: center;
}
.ecm-review__avatar {
	width: 48px; height: 48px; background: var(--orange); color: var(--ink);
	flex-shrink: 0;
	display: flex; align-items: center; justify-content: center;
}
.ecm-review__avatar svg { width: 26px; height: 26px; display: block; }
.ecm-review__name {
	font-family: var(--ff-display); font-weight: 800;
	font-size: 16px; letter-spacing: -0.02em; text-transform: uppercase;
	line-height: 1.1;
}
.ecm-review__date {
	font-family: var(--ff-mono);
	font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
	color: var(--ink-muted); margin-top: 4px;
}
.ecm-review__stars {
	font-size: 14px; color: var(--orange); letter-spacing: 1px;
}
.ecm-review__text {
	font-size: 16px; line-height: 1.55; margin: 0;
	color: var(--ink); text-wrap: pretty;
	min-height: 0;
}
.ecm-review__source {
	margin-top: auto; padding-top: 14px;
	border-top: 1px solid rgba(10,10,10,0.12);
	font-family: var(--ff-mono);
	font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--ink-muted);
}
.ecm-review__source .dot { color: var(--orange); margin-right: 4px; }
.ecm-review__source-link { color: inherit; text-decoration: none; display: inline-flex; align-items: center; transition: color .15s ease; }
.ecm-review__source-link:hover { color: var(--ink); }
.ecm-review__source-arrow { color: var(--orange); margin-left: 4px; }

/* ---------- REALIZACJE ---------- */
.ecm-real__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; flex-wrap: wrap; margin-bottom: 24px; }
.ecm-real__count { font-family: var(--ff-mono); font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: var(--ink-muted); white-space: nowrap; padding-bottom: 8px; }
.ecm-real__count .dot { color: var(--orange); margin-right: 6px; }
.ecm-real__lead { font-size: 19px; line-height: 1.6; max-width: 880px; margin: 0 0 56px; color: var(--ink-soft); }
.ecm-real__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ecm-realcard { display: flex; flex-direction: column; text-decoration: none; color: var(--ink); background: var(--cream-2); border: 1.5px solid var(--ink-line); overflow: hidden; transition: transform .15s ease, border-color .15s ease; }
.ecm-realcard:hover { transform: translateY(-4px); border-color: var(--orange); }
.ecm-realcard__cover { position: relative; aspect-ratio: 16 / 10; overflow: hidden; display: flex; align-items: flex-end; padding: 18px; background: var(--bg); color: var(--fg); }
.ecm-realcard__ghost { position: absolute; right: -12px; bottom: -46px; margin: 0; font-family: var(--ff-display); font-weight: 900; font-size: 180px; line-height: 1; color: var(--accent); opacity: .16; text-transform: uppercase; pointer-events: none; }
.ecm-realcard__mark { position: relative; z-index: 1; font-family: var(--ff-display); font-weight: 800; font-size: clamp(20px, 2.1vw, 30px); letter-spacing: -.03em; line-height: .95; text-transform: uppercase; word-break: break-word; }
.ecm-realcard__tld { position: absolute; top: 14px; left: 18px; font-family: var(--ff-mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; opacity: .72; }
.ecm-realcard__ext { position: absolute; top: 12px; right: 15px; font-family: var(--ff-mono); font-size: 18px; color: var(--ink); }
.ecm-realcard__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; }
.ecm-realcard__name { font-family: var(--ff-body); font-weight: 600; font-size: 15px; letter-spacing: -.01em; word-break: break-word; }
.ecm-realcard__cta { font-family: var(--ff-mono); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-muted); white-space: nowrap; }
.ecm-realcard:hover .ecm-realcard__cta { color: var(--orange); }
@media (max-width: 720px) { .ecm-real__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .ecm-real__grid { grid-template-columns: 1fr; } }

/* ---------- BLOG ---------- */
.ecm-blog__head {
	display: flex; justify-content: space-between; align-items: flex-end;
	margin-bottom: 60px; gap: 40px; flex-wrap: wrap;
}
.ecm-blog__title {
	font-family: var(--ff-display); font-weight: 900;
	font-size: clamp(40px, 7vw, 96px);
	letter-spacing: -0.055em; line-height: 0.88;
	margin: 0; text-transform: uppercase; max-width: 1200px;
}
.ecm-blog__title .accent { color: var(--orange); }
.ecm-blog__link {
	padding: 18px 24px; border: 1.5px solid var(--ink); color: var(--ink);
	font-weight: 700; font-size: 13px; letter-spacing: 0.08em;
	text-transform: uppercase; flex-shrink: 0;
}
.ecm-blog__grid {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;
}
@media (max-width: 1100px) { .ecm-blog__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .ecm-blog__grid { grid-template-columns: 1fr; } }
.ecm-article-card { display: flex; flex-direction: column; }
.ecm-article-card--big { grid-column: span 2; grid-row: span 2; }
@media (max-width: 1100px) { .ecm-article-card--big { grid-column: span 2; grid-row: auto; } }
@media (max-width: 640px) { .ecm-article-card--big { grid-column: span 1; } }
.ecm-article-card__media {
	width: 100%; aspect-ratio: 4/3;
	border: 1.5px solid var(--ink);
	position: relative; margin-bottom: 18px; overflow: hidden;
}
.ecm-article-card--big .ecm-article-card__media { aspect-ratio: 16/10; }
.ecm-article-card__media::before {
	content: ""; position: absolute; inset: 0;
	background-image: repeating-linear-gradient(135deg, transparent 0 12px, rgba(10,10,10,0.05) 12px 13px);
}
.ecm-article-card__tag {
	position: absolute; top: 12px; left: 12px;
	background: var(--ink); color: var(--cream);
	padding: 5px 10px; font-family: var(--ff-mono);
	font-size: 10px; letter-spacing: 0.18em; font-weight: 700; text-transform: uppercase;
}
.ecm-article-card__big-tag {
	position: absolute; bottom: 12px; right: 12px;
	font-family: var(--ff-display); font-weight: 900;
	font-size: 56px; letter-spacing: -0.05em; color: rgba(10,10,10,0.18);
}
.ecm-article-card--big .ecm-article-card__big-tag { font-size: 96px; }
.ecm-article-card__meta {
	font-family: var(--ff-mono);
	font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase;
	color: rgba(10,10,10,0.55); margin-bottom: 8px;
}
.ecm-article-card h3 {
	font-family: var(--ff-display); font-weight: 800;
	font-size: 22px; letter-spacing: -0.035em; line-height: 1.05;
	margin: 0 0 16px; text-transform: uppercase; text-wrap: balance;
}
.ecm-article-card--big h3 { font-size: clamp(28px, 3vw, 38px); }
.ecm-article-card__cta {
	margin-top: auto;
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 700;
	border-bottom: 1.5px solid var(--orange); color: var(--ink);
	align-self: flex-start; padding-bottom: 4px;
}

/* ---------- ECOSYSTEM ---------- */
.ecm-eco__title { margin-bottom: 60px; }
.ecm-eco__grid {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 0;
	border: 1.5px solid var(--ink);
}
@media (max-width: 740px) { .ecm-eco__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .ecm-eco__grid { grid-template-columns: 1fr; } }
.ecm-eco__item {
	padding: 30px 20px; color: var(--ink);
	border-right: 1px solid rgba(10,10,10,0.18);
	display: flex; flex-direction: column; gap: 16px;
	min-height: 320px; background: var(--cream);
}
.ecm-eco__item:last-child { border-right: none; }
.ecm-eco__item:nth-child(3n) { border-right: none; }
.ecm-eco__item:nth-child(n+1):nth-child(-n+3) { border-bottom: 1px solid rgba(10,10,10,0.18); }
.ecm-eco__tag {
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--orange);
}
.ecm-eco__item h3 {
	font-family: var(--ff-display); font-weight: 900;
	font-size: clamp(18px, 1.5vw, 24px);
	letter-spacing: -0.03em; line-height: 1.05;
	text-transform: uppercase; margin: auto 0 0;
}
.ecm-eco__item h3 .muted { color: rgba(10,10,10,0.45); }
.ecm-eco__item p { font-size: 14px; color: var(--ink-soft); line-height: 1.5; margin: 0; }
.ecm-eco__more {
	display: flex; justify-content: space-between; align-items: center;
	padding-top: 18px; border-top: 1px solid rgba(10,10,10,0.15);
	font-family: var(--ff-mono); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
}

/* ---------- FOOTER ---------- */
.ecm-footer {
	background: var(--ink); color: var(--cream);
	padding: 100px var(--gutter) 32px;
	font-family: var(--ff-body);
}
.ecm-footer__cols {
	display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;
	gap: 48px; margin-bottom: 80px;
}
@media (max-width: 1100px) { .ecm-footer__cols { grid-template-columns: 1fr 1fr; gap: 36px; } }
@media (max-width: 640px) { .ecm-footer__cols { grid-template-columns: 1fr; gap: 28px; } }
.ecm-footer__brand-logo { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; }
.ecm-footer__brand-logo img { height: 56px; width: auto; }
.ecm-footer__brand-p { font-size: 15px; color: rgba(245,242,236,0.7); line-height: 1.55; max-width: 360px; margin: 0; }
.ecm-footer__brand-cta {
	display: inline-flex; margin-top: 24px;
	padding: 16px 22px; background: var(--orange); color: var(--ink);
	font-weight: 800; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase;
	align-items: center; gap: 12px;
	transition: color 0.15s ease, background 0.15s ease;
}
.ecm-footer__brand-cta:hover,
.ecm-footer__brand-cta:hover span { color: #fff; }
.ecm-footer__col-h {
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--orange); margin-bottom: 20px;
}
.ecm-footer__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.ecm-footer__col li { font-size: 14px; color: rgba(245,242,236,0.8); }
.ecm-footer__col a { color: rgba(245,242,236,0.8); }
.ecm-footer__col a:hover { color: var(--orange); }

.ecm-footer__tags {
	padding: 32px 0;
	border-top: 1px solid var(--cream-on-dk-line);
	border-bottom: 1px solid var(--cream-on-dk-line);
	display: flex; flex-wrap: wrap; gap: 8px;
}
.ecm-footer__tag {
	padding: 6px 12px;
	border: 1px solid rgba(245,242,236,0.2);
	font-family: var(--ff-mono);
	font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase;
	color: rgba(245,242,236,0.75);
}

.ecm-footer__bottom {
	margin-top: 36px; padding-top: 24px;
	display: flex; justify-content: space-between; align-items: center;
	flex-wrap: wrap; gap: 18px;
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
	color: rgba(245,242,236,0.55);
}
.ecm-footer__bottom-links { display: flex; gap: 28px; flex-wrap: wrap; }
.ecm-footer__bottom-links a { color: rgba(245,242,236,0.55); }
.ecm-footer__bottom-links a:hover { color: var(--orange); }
.ecm-footer__bottom-links a.up { color: var(--orange); }

/* =================================================================
   CALCULATOR (mu-plugin ksa-*) — override to match brutalist/orange.
   Original calculator uses #1d4ed8 (blue) + rounded corners.
   We replace with #FF5A1F (orange) + sharp edges to match design.
   ================================================================= */

/* Section wrapper */
.ecm-section--calc { padding-top: clamp(48px, 5vw, 80px); }

/* Reusable centered section head: eyebrow → H2 → lead, all centered on a
   narrow column so it sits in visual harmony with cards/calculators below. */
.ecm-section__head--center {
	max-width: 900px;
	margin: 0 auto 56px;
	text-align: center;
}
.ecm-section__head--center .ecm-eyebrow {
	justify-content: center;
	margin-bottom: 28px;
}
.ecm-section__head--center .ecm-h2 {
	font-size: clamp(40px, 5.4vw, 72px);
	margin: 0 auto 28px;
	max-width: 880px;
	text-wrap: balance;
}
.ecm-section__head--center .ecm-section__lead {
	font-size: clamp(17px, 1.3vw, 20px);
	line-height: 1.5;
	color: var(--ink-soft);
	max-width: 620px;
	margin: 0 auto;
	text-wrap: balance;
}
@media (max-width: 740px) {
	.ecm-section__head--center { margin-bottom: 40px; }
	.ecm-section__head--center .ecm-h2 br { display: none; }
}

/* Main card */
.ecm-section--calc .ksa-wrap {
	background: var(--cream) !important;
	border: 1.5px solid var(--ink) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 48px 44px !important;
	color: var(--ink) !important;
	font-family: var(--ff-body) !important;
	max-width: 920px !important;
	margin: 0 auto !important;
}
@media (max-width: 640px) { .ecm-section--calc .ksa-wrap { padding: 28px 22px !important; } }

.ecm-section--calc .ksa-eyebrow {
	font-family: var(--ff-mono) !important;
	font-size: 11px !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	color: var(--orange) !important;
	margin: 0 0 10px !important;
	text-align: left !important;
	font-weight: 500 !important;
}
.ecm-section--calc .ksa-title {
	font-family: var(--ff-display) !important;
	font-weight: 900 !important;
	font-size: clamp(28px, 3vw, 40px) !important;
	letter-spacing: -0.035em !important;
	line-height: 1 !important;
	color: var(--ink) !important;
	text-align: left !important;
	text-transform: uppercase !important;
	margin: 0 0 12px !important;
}
.ecm-section--calc .ksa-lead {
	font-size: 17px !important;
	color: var(--ink-soft) !important;
	margin: 0 0 28px !important;
	text-align: left !important;
	line-height: 1.55 !important;
}

/* Radio options — only 2 choices, make it obvious */
.ecm-section--calc .ksa-options {
	counter-reset: ksaopt;
	gap: 56px !important;
	padding-top: 14px !important;
}
.ecm-section--calc .ksa-option {
	counter-increment: ksaopt;
	background: var(--cream) !important;
	border: 2px solid var(--ink) !important;
	border-radius: 0 !important;
	transition: all 0.2s ease !important;
	padding: 50px 32px 32px 80px !important;
	position: relative !important;
}
/* "OPCJA 1 Z 2" badge poking above each card */
.ecm-section--calc .ksa-option::before {
	content: "OPCJA " counter(ksaopt) " Z 2";
	position: absolute;
	top: -24px; left: 16px;
	font-family: var(--ff-mono);
	font-size: 22px; letter-spacing: 0.14em;
	text-transform: uppercase; font-weight: 800;
	background: var(--ink); color: var(--cream);
	padding: 9px 18px;
	z-index: 2;
}
.ecm-section--calc .ksa-option.is-selected::before {
	background: var(--orange) !important;
	color: var(--ink) !important;
}
.ecm-section--calc .ksa-option:hover:not(.is-selected) {
	transform: translateY(-3px);
	box-shadow: 6px 6px 0 0 var(--ink) !important;
	border-color: var(--ink) !important;
}
.ecm-section--calc .ksa-option.is-selected {
	border-color: var(--ink) !important;
	background: var(--cream) !important;
	box-shadow: 8px 8px 0 0 var(--orange) !important;
}
.ecm-section--calc .ksa-mark {
	width: 34px !important; height: 34px !important;
	top: 44px !important;
	border: 2px solid var(--ink) !important;
	background: var(--cream) !important;
	border-radius: 0 !important;
}
.ecm-section--calc .ksa-option.is-selected .ksa-mark {
	background: var(--orange) !important;
	border-color: var(--ink) !important;
}
.ecm-section--calc .ksa-mark::after {
	width: 13px !important; height: 7px !important;
	border-width: 0 0 3px 3px !important;
}
/* Pełna treść obu opcji zawsze widoczna (nie tylko po zaznaczeniu) */
.ecm-section--calc .ksa-config { display: block !important; }
.ecm-section--calc .ksa-opt-title {
	font-family: var(--ff-display) !important;
	font-weight: 800 !important;
	font-size: 22px !important;
	letter-spacing: -0.025em !important;
	text-transform: uppercase !important;
	color: var(--ink) !important;
}
.ecm-section--calc .ksa-opt-price {
	font-family: var(--ff-display) !important;
	font-weight: 900 !important;
	font-size: 38px !important;
	color: var(--ink) !important;
	letter-spacing: -0.04em !important;
}
.ecm-section--calc .ksa-opt-rata {
	font-family: var(--ff-mono) !important;
	font-size: 13px !important;
	letter-spacing: 0.08em !important;
	color: var(--ink-muted) !important;
}
.ecm-section--calc .ksa-opt-desc {
	font-size: 15px !important;
	color: var(--ink-soft) !important;
	line-height: 1.55 !important;
}

/* Config section inside option */
.ecm-section--calc .ksa-config { border-top: 1px solid var(--ink-line) !important; }
.ecm-section--calc .ksa-config-label {
	font-family: var(--ff-mono) !important;
	font-weight: 700 !important;
	font-size: 11px !important;
	letter-spacing: 0.22em !important;
	color: var(--orange) !important;
	text-transform: uppercase !important;
}
.ecm-section--calc .ksa-select {
	border: 1.5px solid var(--ink) !important;
	border-radius: 0 !important;
	background: var(--cream) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%230A0A0A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 16px center/14px no-repeat !important;
	color: var(--ink) !important;
	font-family: var(--ff-body) !important;
}
.ecm-section--calc .ksa-select:focus {
	border-color: var(--orange) !important;
	box-shadow: 0 0 0 3px rgba(255,90,31,0.15) !important;
}

/* Channels checkboxes */
.ecm-section--calc .ksa-channel {
	background: var(--cream) !important;
	border: 1.5px solid var(--ink-line) !important;
	border-radius: 0 !important;
	color: var(--ink) !important;
}
.ecm-section--calc .ksa-channel:hover { border-color: var(--ink) !important; }
.ecm-section--calc .ksa-channel .ksa-cbox {
	border: 1.5px solid var(--ink-line) !important;
	border-radius: 0 !important;
	background: var(--cream) !important;
}
.ecm-section--calc .ksa-channel input:checked + .ksa-cbox {
	background: var(--orange) !important;
	border-color: var(--ink) !important;
}

/* Included items */
.ecm-section--calc .ksa-incl li::before { border-color: var(--orange) !important; }
.ecm-section--calc .ksa-incl li { color: var(--ink) !important; }

/* Payment radio */
.ecm-section--calc .ksa-pay {
	background: var(--cream) !important;
	border: 1.5px solid var(--ink-line) !important;
	border-radius: 0 !important;
}
.ecm-section--calc .ksa-pay:hover { border-color: var(--ink) !important; }
.ecm-section--calc .ksa-pay-mark {
	border: 1.5px solid var(--ink-line) !important;
	background: var(--cream) !important;
}
.ecm-section--calc .ksa-pay-mark::after { background: var(--orange) !important; }
.ecm-section--calc .ksa-pay input:checked ~ .ksa-pay-mark { border-color: var(--ink) !important; }
.ecm-section--calc .ksa-pay input:checked ~ .ksa-pay-text strong { color: var(--orange) !important; }
.ecm-section--calc .ksa-pay-text strong { color: var(--ink) !important; font-family: var(--ff-body) !important; }
.ecm-section--calc .ksa-pay-text small {
	font-family: var(--ff-mono) !important;
	font-size: 11px !important;
	letter-spacing: 0.08em !important;
	color: var(--ink-muted) !important;
}

/* Projekcja (calculator box) */
.ecm-section--calc .ksa-projekcja {
	background: var(--cream-2) !important;
	border: 1.5px solid var(--ink) !important;
	border-radius: 0 !important;
	padding: 28px 28px !important;
}
.ecm-section--calc .ksa-projekcja-h {
	font-family: var(--ff-display) !important;
	font-weight: 900 !important;
	font-size: clamp(22px, 2.8vw, 32px) !important;
	letter-spacing: -0.035em !important;
	line-height: 1.05 !important;
	text-transform: uppercase !important;
	color: var(--ink) !important;
	margin: 0 0 24px !important;
	text-align: left !important;
	text-wrap: balance;
}
.ecm-section--calc .ksa-projekcja-h-acc {
	color: var(--orange) !important;
}
.ecm-section--calc .ksa-slider-label {
	font-family: var(--ff-mono) !important;
	font-size: 11px !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--ink-muted) !important;
}
.ecm-section--calc .ksa-slider-value {
	font-family: var(--ff-display) !important;
	font-weight: 800 !important;
	font-size: 18px !important;
	color: var(--ink) !important;
}
.ecm-section--calc .ksa-slider { background: rgba(10,10,10,0.12) !important; }
.ecm-section--calc .ksa-slider::-webkit-slider-thumb {
	background: var(--orange) !important;
	border: 3px solid var(--ink) !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	width: 22px !important;
	height: 22px !important;
}
.ecm-section--calc .ksa-slider::-moz-range-thumb {
	background: var(--orange) !important;
	border: 3px solid var(--ink) !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	width: 22px !important;
	height: 22px !important;
}
.ecm-section--calc .ksa-projekcja-result-label {
	font-family: var(--ff-mono) !important;
	font-size: 11px !important;
	letter-spacing: 0.22em !important;
	color: var(--ink-muted) !important;
}
.ecm-section--calc .ksa-projekcja-result-big {
	font-family: var(--ff-display) !important;
	font-weight: 900 !important;
	font-size: clamp(40px, 5vw, 56px) !important;
	color: var(--orange) !important;
	letter-spacing: -0.05em !important;
}
.ecm-section--calc .ksa-projekcja-result-foot {
	font-family: var(--ff-mono) !important;
	font-size: 11px !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--ink-muted) !important;
}

/* Guarantee box — keep green-ish but match shapes */
.ecm-section--calc .ksa-gwarancja {
	background: var(--cream-2) !important;
	border: 1.5px solid var(--ink) !important;
	border-radius: 0 !important;
	text-align: left !important;
	padding: 24px 28px !important;
}
.ecm-section--calc .ksa-gwarancja-eyebrow {
	font-family: var(--ff-mono) !important;
	font-size: 11px !important;
	letter-spacing: 0.22em !important;
	color: var(--orange) !important;
}
.ecm-section--calc .ksa-gwarancja-headline {
	font-family: var(--ff-display) !important;
	font-weight: 900 !important;
	font-size: clamp(20px, 2.5vw, 26px) !important;
	letter-spacing: -0.025em !important;
	text-transform: uppercase !important;
	color: var(--ink) !important;
}
.ecm-section--calc .ksa-gwarancja-headline strong { color: var(--orange) !important; }
.ecm-section--calc .ksa-gwarancja-detail { font-size: 15px !important; color: var(--ink-soft) !important; }
.ecm-section--calc .ksa-gwarancja-detail strong { color: var(--ink) !important; }

/* CTAs */
.ecm-section--calc .ksa-cta-buy {
	background: var(--ink) !important;
	color: var(--cream) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: var(--ff-body) !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	padding: 22px 28px !important;
}
.ecm-section--calc .ksa-cta-buy:hover {
	background: var(--orange) !important;
	color: var(--ink) !important;
	transform: none !important;
	box-shadow: none !important;
}
.ecm-section--calc .ksa-cta-call {
	background: transparent !important;
	color: var(--ink) !important;
	border: 1.5px solid var(--ink) !important;
	border-radius: 0 !important;
	font-family: var(--ff-body) !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	padding: 16px 22px !important;
}
.ecm-section--calc .ksa-cta-call:hover {
	color: var(--orange) !important;
	border-color: var(--orange) !important;
}
.ecm-section--calc .ksa-cta-ebook {
	font-family: var(--ff-mono) !important;
	font-size: 11px !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--ink-muted) !important;
	text-decoration: none !important;
	border-bottom: 1px solid var(--ink-line) !important;
	padding-bottom: 2px !important;
}
.ecm-section--calc .ksa-cta-ebook:hover {
	color: var(--orange) !important;
	border-bottom-color: var(--orange) !important;
}

.ecm-section--calc .ksa-foot {
	font-size: 15px !important;
	color: var(--ink-soft) !important;
	text-align: left !important;
	line-height: 1.6 !important;
	margin-top: 24px !important;
}
.ecm-section--calc .ksa-foot strong { color: var(--ink) !important; }
.ecm-section--calc .ksa-foot-strong {
	font-family: var(--ff-display) !important;
	font-weight: 900 !important;
	color: var(--orange) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.02em !important;
}

/* Modal (if used) */
.ecm-section--calc .ksa-modal-content,
body .ksa-modal-content {
	border-radius: 0 !important;
	border: 1.5px solid var(--ink) !important;
}

/* ROI block (replaces old "Gwarancja 110%" content) */
.ecm-section--calc .ksa-roi { padding: 28px 28px !important; }
.ecm-section--calc .ksa-roi-margin { margin: 4px 0 22px !important; }
.ecm-section--calc .ksa-roi-stats {
	display: grid !important; grid-template-columns: 1fr 1fr !important;
	gap: 0 !important; margin: 0 0 22px !important;
	border: 1.5px solid var(--ink) !important;
}
.ecm-section--calc .ksa-roi-stat {
	padding: 18px 20px !important;
	background: var(--cream) !important;
}
.ecm-section--calc .ksa-roi-stat:first-child {
	border-right: 1px solid var(--ink-line) !important;
}
.ecm-section--calc .ksa-roi-stat-label {
	font-family: var(--ff-mono) !important;
	font-size: 10px !important; letter-spacing: 0.22em !important;
	text-transform: uppercase !important; color: var(--ink-muted) !important;
	margin: 0 0 6px !important;
}
.ecm-section--calc .ksa-roi-stat-val {
	font-family: var(--ff-display) !important; font-weight: 900 !important;
	font-size: clamp(22px, 2.5vw, 30px) !important;
	letter-spacing: -0.04em !important; line-height: 1 !important;
	color: var(--ink) !important;
}
.ecm-section--calc .ksa-roi-h {
	font-family: var(--ff-display) !important; font-weight: 900 !important;
	font-size: clamp(26px, 3.2vw, 38px) !important;
	letter-spacing: -0.04em !important; line-height: 1.05 !important;
	text-transform: uppercase !important; color: var(--ink) !important;
	margin: 0 0 24px !important;
	text-wrap: balance;
}
.ecm-section--calc .ksa-roi-h .ksa-roi-h-prod {
	color: var(--orange) !important;
	white-space: normal;
	overflow-wrap: break-word;
	word-break: break-word;
}
.ecm-section--calc .ksa-roi-h strong {
	color: var(--orange) !important;
	font-weight: 900 !important;
	display: inline-block !important;
	padding: 0 4px !important;
}
@media (max-width: 640px) {
	.ecm-section--calc .ksa-roi-stats { grid-template-columns: 1fr !important; }
	.ecm-section--calc .ksa-roi-stat:first-child {
		border-right: none !important;
		border-bottom: 1px solid var(--ink-line) !important;
	}
}

/* =================================================================
   FAKE ORDER NOTIFICATION (social proof) — bottom-left, slides in.
   ================================================================= */
.ecm-notify {
	position: fixed; bottom: 24px; left: 24px;
	width: 300px; z-index: 999;
	transform: translateX(calc(-100% - 40px));
	opacity: 0;
	transition: transform 0.55s cubic-bezier(.2,.7,.2,1), opacity 0.4s ease;
	pointer-events: none;
}
.ecm-notify.is-visible {
	transform: translateX(0); opacity: 1;
	pointer-events: auto;
}
.ecm-notify__card {
	background: var(--ink); color: var(--cream);
	border: 1.5px solid var(--ink);
	padding: 18px 20px 18px 22px;
	box-shadow: 6px 6px 0 0 var(--orange);
	position: relative;
	font-family: var(--ff-body);
}
.ecm-notify__top {
	display: flex; justify-content: space-between; align-items: center;
	font-family: var(--ff-mono);
	font-size: 9.5px; letter-spacing: 0.16em; text-transform: uppercase;
	color: rgba(245,242,236,0.65);
	margin-bottom: 12px;
	gap: 10px;
}
.ecm-notify__brand {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	flex: 1;
}
.ecm-notify__brand .dot { color: var(--orange); margin-right: 4px; }
.ecm-notify__top [data-time] { flex-shrink: 0; }
.ecm-notify__headline {
	font-family: var(--ff-mono);
	font-size: 11px; letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--orange);
	margin: 0 0 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(245,242,236,0.15);
	font-weight: 700;
}
.ecm-notify__row {
	display: flex; justify-content: space-between; align-items: baseline;
	gap: 14px;
}
.ecm-notify__order {
	font-family: var(--ff-display); font-weight: 900;
	font-size: 24px; letter-spacing: -0.035em; line-height: 1;
	color: var(--cream);
}
.ecm-notify__amount {
	font-family: var(--ff-display); font-weight: 900;
	font-size: 26px; letter-spacing: -0.04em; line-height: 1;
	color: var(--orange);
	white-space: nowrap;
}
.ecm-notify__close {
	position: absolute; top: 6px; right: 8px;
	background: transparent; border: 0;
	color: rgba(245,242,236,0.5);
	font-size: 22px; cursor: pointer; line-height: 1;
	padding: 4px 6px; font-family: var(--ff-mono);
	transition: color 0.2s;
}
.ecm-notify__close:hover { color: var(--orange); }

@media (max-width: 640px) {
	.ecm-notify { bottom: 16px; left: 12px; right: 12px; width: auto; }
	.ecm-notify__card { padding: 14px 16px; box-shadow: 4px 4px 0 0 var(--orange); }
	.ecm-notify__order { font-size: 22px; }
	.ecm-notify__amount { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
	.ecm-notify { transition: opacity 0.2s ease; transform: none; }
	.ecm-notify:not(.is-visible) { display: none; }
}

/* ============================================================
   HERO SLIDER (mu-plugin 04-hero-slider)
   3+ przewijane banery; tło = obraz LUB video; overlay; CTA-y.
   ============================================================ */
.ecm-slider {
	position: relative;
	width: 100%;
	height: min(88vh, 760px);
	min-height: 560px;
	overflow: hidden;
	background: var(--ink);
}
.ecm-slider__track {
	display: flex;
	width: 100%;
	height: 100%;
	transition: transform 0.7s cubic-bezier(0.65, 0, 0.35, 1);
	will-change: transform;
}
.ecm-slide {
	position: relative;
	flex: 0 0 100%;
	height: 100%;
	display: flex;
	align-items: center;
	overflow: hidden;
}
.ecm-slide__bg {
	position: absolute; inset: 0; z-index: 1;
}
.ecm-slide__bg img,
.ecm-slide__bg video {
	width: 100%; height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}
.ecm-slide__overlay {
	position: absolute; inset: 0;
	background: linear-gradient(180deg,
		rgba(10,10,10,calc(var(--ecm-overlay, 0.4) * 0.5)) 0%,
		rgba(10,10,10,var(--ecm-overlay, 0.4)) 100%);
	pointer-events: none;
}
.ecm-slide__inner {
	position: relative;
	z-index: 2;
	color: var(--cream);
	width: 100%;
	padding: 80px var(--gutter);
	/* Extra left/right padding so the headline and CTAs don't sit under the
	   prev/next arrows (each 56px wide at left/right: 24px). */
	padding-left: clamp(104px, 7vw, 140px);
	padding-right: clamp(104px, 7vw, 140px);
}
.ecm-slide__eyebrow {
	display: flex; align-items: center; gap: 14px;
	font-family: var(--ff-mono);
	font-size: 13px; letter-spacing: 0.22em; text-transform: uppercase;
	color: rgba(245,242,236,0.85);
	margin-bottom: 28px;
}
.ecm-slide__eyebrow .dot {
	width: 8px; height: 8px; background: var(--orange); border-radius: 50%;
	flex-shrink: 0;
}
.ecm-slide__h1 {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: clamp(48px, 8.5vw, 144px);
	line-height: 0.92;
	letter-spacing: -0.03em;
	margin: 0;
	color: var(--cream);
	max-width: 14ch;
}
.ecm-slide__h1 .accent { color: var(--orange); }
.ecm-slide__lead {
	margin-top: 28px;
	font-size: clamp(17px, 1.4vw, 22px);
	line-height: 1.45;
	color: rgba(245,242,236,0.9);
	max-width: 560px;
}
.ecm-slide__ctas {
	margin-top: 40px;
	display: flex; flex-wrap: wrap; gap: 12px;
}
.ecm-slide__ctas .ecm-btn--dark {
	background: var(--cream); color: var(--ink);
}
.ecm-slide__ctas .ecm-btn--outline {
	border-color: var(--cream); color: var(--cream);
}
.ecm-slide__ctas .ecm-btn--outline:hover {
	background: var(--cream); color: var(--ink);
}

/* arrows */
.ecm-slider__arrow {
	position: absolute;
	top: 50%; transform: translateY(-50%);
	z-index: 3;
	width: 56px; height: 56px;
	background: rgba(10,10,10,0.4);
	border: 1px solid rgba(245,242,236,0.4);
	color: var(--cream);
	font-size: 28px; line-height: 1;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s;
	display: flex; align-items: center; justify-content: center;
	padding: 0;
}
.ecm-slider__arrow:hover {
	background: var(--orange); border-color: var(--orange); color: var(--ink);
}
.ecm-slider__arrow--prev { left: 24px; }
.ecm-slider__arrow--next { right: 24px; }

/* dots */
.ecm-slider__dots {
	position: absolute;
	bottom: 32px; left: 50%; transform: translateX(-50%);
	z-index: 3;
	display: flex; gap: 12px;
}
.ecm-slider__dot {
	width: 36px; height: 4px;
	background: rgba(245,242,236,0.35);
	border: 0; cursor: pointer;
	padding: 0;
	transition: background 0.25s, width 0.25s;
}
.ecm-slider__dot.is-active {
	background: var(--orange);
	width: 56px;
}
.ecm-slider__dot:hover {
	background: rgba(245,242,236,0.7);
}

/* progress bar (autoplay) */
.ecm-slider__progress {
	position: absolute; left: 0; bottom: 0; height: 3px;
	background: var(--orange);
	z-index: 3;
	transform-origin: left;
	transform: scaleX(0);
}

@media (max-width: 980px) {
	.ecm-slider { height: 72vh; min-height: 520px; }
	.ecm-slider__arrow { width: 44px; height: 44px; font-size: 22px; }
	.ecm-slider__arrow--prev { left: 12px; }
	.ecm-slider__arrow--next { right: 12px; }
	.ecm-slide__inner {
		padding: 60px var(--gutter);
		padding-left: 76px;
		padding-right: 76px;
	}
}
@media (max-width: 640px) {
	.ecm-slider__arrow { display: none; }
	.ecm-slider__dots { bottom: 20px; }
	.ecm-slide__inner {
		padding: 60px var(--gutter);
		padding-left: var(--gutter);
		padding-right: var(--gutter);
	}
	.ecm-slide__h1 { font-size: clamp(40px, 12vw, 72px); max-width: 12ch; }
	.ecm-slide__lead { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.ecm-slider__track { transition: none; }
}

/* ============================================================
   WooCommerce product loop — uniform-height square cards.
   Earlier we tried object-fit:contain so portraits stay portrait,
   but with very tall images (300×900) this made gigantic empty
   boxes with cream stripes. Switching to a fixed 1:1 aspect ratio
   + object-fit:cover gives every card the same height, centers
   the image, and crops just the overflow — clean grid rhythm.
   ============================================================ */
.woocommerce ul.products li.product .woocommerce-loop-image-link,
.woocommerce ul.products li.product .woocommerce-loop-product__link {
	display: block;
	background: var(--cream-2);
	overflow: hidden;
	aspect-ratio: 1 / 1;
	position: relative;
}
.woocommerce ul.products li.product .woocommerce-loop-image-link img,
.woocommerce ul.products li.product .woocommerce-loop-product__link img,
.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail {
	width: 100% !important;
	height: 100% !important;
	aspect-ratio: auto !important;
	object-fit: cover !important;
	object-position: center center;
	display: block;
}
/* "Promocja!" badge — re-position to top-right of the new square frame. */
.woocommerce ul.products li.product .onsale {
	position: absolute;
	top: 12px; right: 12px;
	z-index: 2;
}

/* ==========================================================
   MOBILE SAFETY OVERRIDES (Kadence parent + edge cases)
   ========================================================== */
@media (max-width: 980px) {
	/* zero horizontal scroll, niezależnie co Kadence robi */
	html, body { overflow-x: hidden !important; max-width: 100% !important; }
	body * { max-width: 100%; }
	img, video, iframe, table { max-width: 100% !important; height: auto !important; }

	/* kontenery na pełną szerokość minus marginesy */
	.ecm-container, .pf-container { max-width: 100% !important; width: 100% !important; padding-left: 14px !important; padding-right: 14px !important; box-sizing: border-box; }
	/* kalkulator zajmuje praktycznie całą szerokość ekranu */
	.ecm-section--calc .ecm-container { padding-left: 8px !important; padding-right: 8px !important; }

	/* HERO SLIDER (homepage banery video): obraz/video pełna szerokość, treść poniżej */
	.ecm-slider, .ecm-slide { min-height: 0 !important; }
	.ecm-slide__bg { position: relative !important; width: 100%; aspect-ratio: 16/10; }
	.ecm-slide__bg img, .ecm-slide__bg video {
		position: relative !important; width: 100% !important; height: auto !important;
		min-height: 0 !important; object-fit: cover;
	}
	.ecm-slide__overlay { display: none; }
	.ecm-slide__inner {
		position: relative !important; padding: 24px 20px !important;
		background: var(--ink); color: var(--cream);
	}
	.ecm-slide__h1 { font-size: clamp(28px, 7vw, 44px) !important; line-height: 1.05 !important; }
	.ecm-slide__lead { font-size: 16px !important; line-height: 1.5 !important; }
	.ecm-slide__ctas { flex-direction: column; gap: 10px; }
	.ecm-slide__ctas .ecm-btn { width: 100%; justify-content: center; }

	/* hero strony głównej (fallback) */
	.ecm-hero__grid { grid-template-columns: 1fr !important; gap: 24px; }
	.ecm-hero__ctas { flex-direction: column; align-items: stretch; }
	.ecm-hero__ctas .ecm-btn { width: 100%; justify-content: center; text-align: center; }

	/* podsumowanie (Krzysiek) */
	.ecm-summary__grid { grid-template-columns: 1fr !important; gap: 28px; }

	/* case study */
	.ecm-case__grid { grid-template-columns: 1fr !important; }
	.ecm-case__big-number { font-size: clamp(48px, 12vw, 96px) !important; }

	/* karuzela opinii — 1 kafelek na ekran */
	.ecm-reviews__grid > .ecm-review { flex-basis: 90% !important; }
	.ecm-reviews__nav--prev { left: 0; }
	.ecm-reviews__nav--next { right: 0; }

	/* giełda sklepów */
	.ecm-stores__grid { grid-template-columns: 1fr !important; }

	/* sekcje — mniejsze paddingi */
	.ecm-section, .pf-section { padding-left: 0 !important; padding-right: 0 !important; padding-top: clamp(40px, 8vw, 72px) !important; padding-bottom: clamp(40px, 8vw, 72px) !important; }
}

/* PRODUCT FLAGSHIP — wymuszenie 1 kolumny dla cennika i hero */
@media (max-width: 900px) {
	.pf-pricing__grid { grid-template-columns: 1fr !important; gap: 20px !important; }
	.pf-pricing__cards { grid-template-columns: 1fr !important; gap: 20px !important; }
	.pf-price-card { padding: 28px 24px !important; }
	.pf-price-card__name { font-size: clamp(22px, 5.5vw, 32px) !important; word-break: normal !important; hyphens: none !important; }
	.pf-price-card__list { font-size: 15px !important; }
	.pf-hero__grid { grid-template-columns: 1fr !important; gap: 28px !important; }
	.pf-hero__photo, .pf-hero__mockup-wrap { width: 100%; max-width: 100% !important; }
	.pf-hero__photo-img { width: 100% !important; height: auto !important; }
	.pf-h1 { font-size: clamp(32px, 8vw, 48px) !important; line-height: 1.05 !important; }
}

/* niżej — 1-kolumnowy fallback dla wszystkiego */
@media (max-width: 600px) {
	.pf-features__grid, .pf-forwho__grid, .pf-starts__grid, .pf-timeline__steps { grid-template-columns: 1fr !important; }
	.ecm-summary__photo { max-width: 240px; margin: 0 auto; }
	.ecm-aside-card { padding: 28px 24px !important; }
	.ecm-aside-card__price { font-size: 56px !important; }
}

/* Ignoruj znaki | (jako <br>) w tytułach na mobile — tekst flow naturalnie */
@media (max-width: 980px) {
	.ecm-slide__h1 br,
	.pf-h1 br,
	.pf-h2 br,
	.ecm-h2 br,
	.ksa-title br,
	.ksa-opt-title br,
	.pf-price-card__name br { display: none !important; }

	/* Powiększone tytuły na mobile (były za małe) */
	.ecm-slide__h1, .pf-h1 { font-size: clamp(42px, 11vw, 64px) !important; line-height: 1.02 !important; letter-spacing: -0.03em !important; }
	.ecm-h2, .pf-h2 { font-size: clamp(32px, 8vw, 48px) !important; line-height: 1.08 !important; }
	.ksa-title { font-size: clamp(26px, 6.5vw, 36px) !important; }

	/* Kropka i podobne wskaźniki w eyebrow — schowane na mobile */
	.ecm-slide__eyebrow .dot,
	.ecm-slide__eyebrow .dotR,
	.ecm-slide__eyebrow .dash,
	.ecm-hero__eyebrow .dot,
	.ecm-hero__eyebrow .dotR { display: none !important; }
}

/* HERO BANER — wymuszony stack pionowy: ZDJĘCIE NA GÓRZE, tekst i CTA pod spodem.
   Bomba atomowa: display:block kasuje grid, order:-1 wypycha foto przed tekst. */
@media (max-width: 980px) {
	/* PRODUCT PAGE HERO (.pf-hero) */
	.product-flagship .pf-hero__grid,
	.pf-hero .pf-hero__grid,
	section.pf-hero,
	.pf-hero__grid {
		display: block !important;
		grid-template-columns: 1fr !important;
	}
	.pf-hero__copy, .pf-hero__mockup-wrap { width: 100% !important; max-width: 100% !important; }
	.pf-hero__mockup-wrap { order: -1 !important; margin-bottom: 28px; }
	.pf-hero__photo, .pf-hero__photo-img {
		display: block !important;
		width: 100% !important; max-width: 100% !important;
		height: auto !important;
		aspect-ratio: auto !important;
		object-fit: contain !important;
	}
	.pf-hero__copy .pf-h1 { font-size: clamp(28px, 8vw, 44px) !important; line-height: 1.05 !important; }
	.pf-hero__copy .pf-lead { font-size: 16px !important; line-height: 1.5 !important; }
	.pf-hero__ctas { display: flex !important; flex-direction: column !important; gap: 10px !important; align-items: stretch !important; }
	.pf-hero__ctas .pf-btn { width: 100% !important; justify-content: center !important; text-align: center !important; }
	.pf-hero__price { font-size: clamp(36px, 9vw, 56px) !important; }
	.pf-hero__stats { flex-direction: column !important; gap: 8px !important; align-items: flex-start !important; }
	.pf-trust { flex-direction: column !important; gap: 6px !important; }

	/* HOMEPAGE HERO SLIDER (.ecm-slider + .ecm-slide) — DUŻY override
	   Domyślnie slider ma height: 88vh i overflow: hidden — to obcinało CTA.
	   Na mobile zmieniamy na auto height żeby treść w pełni się pokazała. */
	.ecm-slider {
		height: auto !important;
		min-height: 0 !important;
		overflow: visible !important;
	}
	.ecm-slider__track {
		height: auto !important;
	}
	.ecm-slide {
		display: block !important;
		flex: 0 0 100% !important;
		height: auto !important;
		min-height: 0 !important;
		align-items: normal !important;
		overflow: visible !important;
	}
	.ecm-slide__bg {
		position: relative !important;
		width: 100% !important; height: auto !important;
		aspect-ratio: 16/10;
	}
	.ecm-slide__bg img, .ecm-slide__bg video {
		position: relative !important;
		width: 100% !important; height: 100% !important;
		object-fit: cover !important;
	}
	.ecm-slide__overlay { display: none !important; }
	.ecm-slide__inner {
		position: relative !important;
		/* Pełny padding — drugi CTA nie ma prawa być przykryty */
		padding: 32px 20px 80px !important;
		/* Nasuwka wycofana — tytuł zaczyna się pod video */
		margin-top: 0 !important;
		background: var(--ink) !important;
		color: var(--cream) !important;
		max-width: 100% !important;
	}

	/* Eyebrow „№ 01 · SKLEP BEZ ABONAMENTU" — schowany na mobile */
	.ecm-slide__eyebrow { display: none !important; }

	/* Kropki przewijania banerów — podnieś wyżej, na video (nie na CTA) */
	.ecm-slider__dots {
		bottom: auto !important;
		top: 24px !important;
		left: 50% !important; transform: translateX(-50%) !important;
		z-index: 5 !important;
	}
	.ecm-slider__dot {
		width: 28px !important; height: 3px !important;
		background: rgba(245,242,236,0.6) !important;
		box-shadow: 0 1px 2px rgba(0,0,0,0.4);
	}
	.ecm-slider__dot.is-active {
		width: 44px !important;
		background: var(--orange) !important;
	}

	/* Margines pod sliderem żeby następna sekcja zaczynała się niżej */
	.ecm-slider { margin-bottom: 24px !important; }
}

/* HEADER + LOGO — żadne wystawanie poza ekran */
@media (max-width: 980px) {
	.ecm-utilbar { max-width: 100vw; overflow: hidden; box-sizing: border-box; }
	.ecm-header { max-width: 100vw; overflow: visible !important; box-sizing: border-box; }
	.ecm-nav { padding: 10px 12px !important; gap: 8px !important; max-width: 100vw; flex-wrap: nowrap !important; align-items: center !important; }

	/* Hamburger — mniejszy */
	.ecm-nav__toggle { padding: 8px !important; width: 36px !important; height: 36px !important; }
	.ecm-nav__toggle-bar { width: 18px !important; }

	/* Logo — większe (głowny element marki) */
	.ecm-nav__logo img { max-height: 48px !important; max-width: 180px !important; width: auto !important; height: auto !important; }

	/* "Co sprzedawać?" CTA — w tej samej linii, krótszy tekst */
	.ecm-nav__cta {
		display: inline-flex !important;
		font-size: 10px !important; padding: 8px 10px !important;
		letter-spacing: 0 !important;
		white-space: nowrap;
		background: var(--ink) !important; color: #fff !important;
		text-decoration: none !important;
		margin: 0 !important;
	}
	.ecm-nav__cta-full { display: none !important; }
	.ecm-nav__cta-short { display: inline !important; }
	.ecm-nav__cta:hover, .ecm-nav__cta:focus, .ecm-nav__cta:visited {
		background: var(--orange) !important; color: var(--ink) !important;
	}
	.ecm-nav__cta:hover .ecm-nav__cta-arrow { color: var(--ink) !important; }
	.ecm-nav__cta-arrow { margin-left: 4px; color: var(--orange) !important; }

	/* Breadcrumbs (START · STRONA GŁÓWNA) — schowane na mobile */
	.ecm-breadcrumbs { display: none !important; }

	.ecm-nav__cart { padding: 6px 10px !important; }

	/* Utilbar — wszystko w 1 linii (nie wrap), małe fonty */
	.ecm-utilbar {
		padding: 4px 10px !important; font-size: 10px !important;
		gap: 8px !important; flex-wrap: nowrap !important;
		overflow-x: auto !important; overflow-y: hidden !important;
		scrollbar-width: none;
	}
	.ecm-utilbar::-webkit-scrollbar { display: none; }
	.ecm-utilbar__l, .ecm-utilbar__r {
		gap: 8px !important; flex-wrap: nowrap !important;
		flex-shrink: 0;
	}
	.ecm-utilbar__l span, .ecm-utilbar__r span, .ecm-utilbar__r a {
		font-size: 10px !important; white-space: nowrap !important;
	}
	.ecm-utilbar__whatsapp-ico { width: 12px !important; height: 12px !important; }
}

/* poniżej 480px — utilbar bardziej kompresowany */
@media (max-width: 480px) {
	.ecm-utilbar { font-size: 9px !important; padding: 3px 8px !important; }
	.ecm-utilbar__l span, .ecm-utilbar__r span, .ecm-utilbar__r a { font-size: 9px !important; }
	.ecm-nav__cta { font-size: 9px !important; padding: 7px 8px !important; }
	.ecm-nav__logo img { max-width: 110px !important; max-height: 32px !important; }
}

/* SEKCJA WYNIKÓW (case study .ecm-case__big) — czarna kolumna z 78 223 zł */
@media (max-width: 980px) {
	.ecm-case__big { padding: 28px 20px !important; }
	.ecm-case__big-label { font-size: 11px !important; letter-spacing: 0.15em !important; }
	.ecm-case__big-number { font-size: clamp(40px, 11vw, 72px) !important; margin: 16px 0 !important; line-height: 1 !important; }
	.ecm-case__big-number .zl { font-size: clamp(24px, 6vw, 40px) !important; }
	.ecm-case__big-foot { font-size: 10px !important; letter-spacing: 0.1em !important; line-height: 1.5 !important; flex-direction: column !important; gap: 6px !important; align-items: flex-start !important; }
	.ecm-case__breakdown { padding: 20px !important; }
	.ecm-case__table th, .ecm-case__table td { font-size: 13px !important; padding: 12px 0 !important; }
	.ecm-case__table .pct { font-size: 11px !important; }
	.ecm-case__table .val { font-size: 13px !important; white-space: nowrap; }
	.ecm-case__sublabel { font-size: 10px !important; }
	.ecm-case__p { font-size: 14px !important; }
	.ecm-case__btn { font-size: 11px !important; padding: 14px 18px !important; }
	.ecm-case__proof-card { flex-direction: column !important; }
	.ecm-case__proof-img { width: 100% !important; aspect-ratio: 16/10; }
	.ecm-case__proof-cap { padding: 18px 16px !important; }
	.ecm-case__proof-main { font-size: 20px !important; color: var(--ink) !important; }
}

/* OPINIE — eyebrow + ocena */
@media (max-width: 980px) {
	.ecm-reviews__head { flex-direction: column !important; gap: 16px !important; align-items: flex-start !important; }
	.ecm-reviews__head h2 { font-size: clamp(28px, 7vw, 40px) !important; line-height: 1.1 !important; }
	.ecm-eyebrow { flex-wrap: wrap !important; font-size: 10px !important; gap: 6px !important; }
}

/* GIEŁDA SKLEPÓW — kafelki */
@media (max-width: 980px) {
	.ecm-stores__head { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
	.ecm-stores__title { font-size: clamp(28px, 7vw, 40px) !important; }
}

/* SEO long-form, FAQ */
@media (max-width: 980px) {
	.ecm-seo__title, .ecm-faq__title { font-size: clamp(28px, 7vw, 40px) !important; line-height: 1.1 !important; }
	.ecm-faq__q { font-size: 16px !important; padding: 18px 0 !important; }
	.ecm-faq__a { font-size: 14px !important; }
}

/* STOPKA */
@media (max-width: 980px) {
	.ecm-footer__grid { grid-template-columns: 1fr !important; gap: 32px !important; }
}

/* KALKULATOR (mu-plugin 03) — bardziej zwarty layout dla mobile */
@media (max-width: 980px) {
	/* Kalkulator — checkbox na osobnej linii (wyśrodkowany), treść pełna szerokość.
	   Prefix .ecm-section--calc dorzucony do każdej reguły żeby wyrównać specyfikację
	   z desktopowymi override'ami (które używają tego samego prefixu) — bez tego
	   przy równym !important specyfikacja 0,2,0 z desktopu pokonuje 0,1,0 z mobile. */
	.ecm-section--calc .ksa-wrap { max-width: 100% !important; padding: 16px 10px !important; border-radius: 10px !important; margin: 0 0 24px !important; box-sizing: border-box !important; }
	.ecm-section--calc .ksa-title { font-size: clamp(22px, 5vw, 30px) !important; line-height: 1.2 !important; padding: 0 6px; }
	.ecm-section--calc .ksa-options { gap: 56px !important; }
	.ecm-section--calc .ksa-option { padding: 100px 14px 18px 14px !important; border-radius: 10px !important; }
	.ecm-section--calc .ksa-mark {
		position: absolute !important;
		left: 50% !important; top: 50px !important;
		transform: translateX(-50%) !important;
		width: 40px !important; height: 40px !important;
		border-radius: 6px !important;
	}
	.ecm-section--calc .ksa-mark::after { width: 12px !important; height: 6px !important; }
	.ecm-section--calc .ksa-opt-title { font-size: clamp(16px, 4.2vw, 19px) !important; line-height: 1.3 !important; word-break: normal !important; hyphens: none !important; text-align: center !important; margin-top: 4px !important; }
	.ecm-section--calc .ksa-opt-price-row { justify-content: center !important; text-align: center !important; gap: 8px !important; }
	.ecm-section--calc .ksa-opt-desc { text-align: center !important; font-size: 14px !important; line-height: 1.5 !important; }
	.ecm-section--calc .ksa-config,
	.ecm-section--calc .ksa-config-label,
	.ecm-section--calc .ksa-cat-hint,
	.ecm-section--calc .ksa-channels,
	.ecm-section--calc .ksa-pay-options { text-align: left !important; }
	.ecm-section--calc .ksa-opt-price { font-size: clamp(24px, 6vw, 30px) !important; }
	.ecm-section--calc .ksa-opt-rata { font-size: 13px !important; }
	.ecm-section--calc .ksa-channels,
	.ecm-section--calc .ksa-pay-options { grid-template-columns: 1fr !important; }
	.ecm-section--calc .ksa-cta-buy,
	.ecm-section--calc .ksa-cta-call,
	.ecm-section--calc .ksa-cta-ebook { font-size: 15px !important; padding: 16px 18px !important; }
	.ecm-section--calc .ksa-cta-ebook-main { font-size: 18px !important; }
	.ecm-section--calc .ksa-projekcja-result-big { font-size: clamp(28px, 7vw, 38px) !important; }
	.ecm-section--calc .ksa-gwarancja-headline { font-size: 16px !important; }
	.ecm-section--calc .ksa-foot { font-size: 14px !important; line-height: 1.5 !important; }
	.ecm-section--calc .ksa-config-label { font-size: 13px !important; }
	.ecm-section--calc .ksa-select { font-size: 15px !important; padding: 12px 14px !important; }
	.ecm-section--calc .ksa-cat-hint { font-size: 13px !important; }
	.ecm-section--calc .ksa-channel,
	.ecm-section--calc .ksa-pay { padding: 12px 14px !important; font-size: 14px !important; }
	.ecm-section--calc .ksa-roi-stats { grid-template-columns: 1fr !important; }
	.ecm-section--calc .ksa-modal-box { padding: 22px 18px !important; max-width: 92vw !important; }
}

/* === HAMBURGER DRAWER HARD OVERRIDE — 2026-06-10/06-11 === */
@media (max-width: 1100px) {
	nav.ecm-nav.is-open ul.ecm-nav__list,
	nav.ecm-nav.is-open ul#ecm-primary-menu {
		display: flex !important;
		flex-direction: column !important;
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		right: 0 !important;
		background: #F5F2EC !important;
		z-index: 99999 !important;
		padding: 8px 0 16px !important;
		border-top: 1px solid rgba(10,10,10,0.12) !important;
		border-bottom: 1px solid rgba(10,10,10,0.12) !important;
		box-shadow: 0 16px 32px -12px rgba(10,10,10,0.18) !important;
		max-height: calc(100vh - 100px) !important;
		overflow-y: auto !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		list-style: none !important;
	}
	nav.ecm-nav.is-open .ecm-nav__list li {
		display: block !important;
		width: 100% !important;
		list-style: none !important;
	}
	/* Top-level items — pogrubione, uppercase, z borderem na dole */
	nav.ecm-nav.is-open .ecm-nav__list > li > a {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		padding: 14px 20px !important;
		color: var(--ink) !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		text-transform: uppercase !important;
		letter-spacing: 0.05em !important;
		border-bottom: 1px solid rgba(10,10,10,0.08) !important;
		background: transparent !important;
	}
	nav.ecm-nav.is-open .ecm-nav__list > li.menu-item-has-children > a::after {
		content: "" !important;
		width: 7px; height: 7px;
		border-right: 2px solid var(--orange);
		border-bottom: 2px solid var(--orange);
		transform: rotate(45deg);
		margin: 0 4px 4px 8px;
	}
	nav.ecm-nav.is-open .ecm-nav__list > li > a:hover {
		background: rgba(255, 90, 31, 0.06) !important;
		color: var(--orange) !important;
	}
	/* Sub-menu — wcięcie, mniejszy font, jaśniejsze */
	nav.ecm-nav.is-open .ecm-nav__list .sub-menu {
		display: block !important;
		position: static !important;
		padding: 4px 0 8px !important;
		margin: 0 !important;
		background: rgba(10,10,10,0.025) !important;
		box-shadow: none !important;
		border: 0 !important;
		opacity: 1 !important;
		transform: none !important;
		pointer-events: auto !important;
		list-style: none !important;
	}
	nav.ecm-nav.is-open .ecm-nav__list .sub-menu a {
		display: block !important;
		padding: 9px 20px 9px 40px !important;
		color: rgba(10,10,10,0.72) !important;
		font-size: 13px !important;
		font-weight: 400 !important;
		text-transform: none !important;
		letter-spacing: 0 !important;
		border-bottom: 0 !important;
		position: relative !important;
	}
	nav.ecm-nav.is-open .ecm-nav__list .sub-menu a::before {
		content: "↳" !important;
		position: absolute !important;
		left: 22px !important;
		color: var(--orange) !important;
		opacity: 0.7 !important;
	}
	nav.ecm-nav.is-open .ecm-nav__list .sub-menu a:hover {
		background: rgba(255, 90, 31, 0.05) !important;
		color: var(--orange) !important;
	}
}

/* === PRODUCT FLAGSHIP — MOBILE OVERFLOW FIX (2026-06-11) ===
   Strona /produkt/gotowy-sklep-internetowy/ miała ramki i tytuły
   wychodzące poza viewport <480px. Wymuszamy box-sizing + mniejsze
   minima clamp() + łamanie wyrazów. */
@media (max-width: 540px) {
	html, body { overflow-x: hidden !important; }
	.pf-section, .pf-container, .pf-hero, .pf-card, .pf-price-card,
	.pf-summary, .pf-summary__inner, .pf-starts, .pf-starts__col,
	.pf-manifest, .pf-manifest__col, .pf-features, .pf-features__grid,
	.pf-timeline, .pf-pricing, .pf-pricing__grid, .pf-guarantee,
	.pf-cta-strip, .pf-faq, .pf-proof, .pf-forwho, .pf-hero__copy,
	.pf-hero__grid, .pf-hero__price-block {
		max-width: 100% !important;
		box-sizing: border-box !important;
		overflow-wrap: break-word !important;
		word-wrap: break-word !important;
	}
	.pf-container { padding: 0 14px !important; }
	.pf-section { padding-left: 14px !important; padding-right: 14px !important; }
	.pf-card, .pf-price-card, .pf-summary__inner, .pf-manifest__col,
	.pf-starts__col, .pf-guarantee__inner, .pf-cta-strip {
		padding: 20px 16px !important;
	}
	/* Headline downscale — Archivo 900 + uppercase rozjeżdża 36px na 375vw */
	.pf-h1 { font-size: clamp(22px, 7vw, 32px) !important; line-height: 1 !important; word-break: break-word !important; }
	.pf-h2 { font-size: clamp(22px, 7vw, 32px) !important; line-height: 1 !important; word-break: break-word !important; }
	.pf-h3 { font-size: clamp(16px, 4.6vw, 22px) !important; line-height: 1.15 !important; }
	.pf-lead { font-size: 15px !important; line-height: 1.5 !important; }
	/* Wielkie ceny */
	.pf-hero__price,
	.pf-price-card__price,
	.pf-summary__price,
	.pf-proof__num,
	.pf-manifest__punchline-num { font-size: clamp(30px, 9vw, 44px) !important; line-height: 1 !important; word-break: keep-all !important; }
	.pf-price-card__old { font-size: 16px !important; }
	/* Ghost text za sekcją manifestu — clip żeby nie powiększał strony */
	.pf-manifest { overflow: hidden !important; }
	.pf-manifest__ghost { font-size: clamp(140px, 30vw, 240px) !important; }
	/* Listy z checkmarkami — żeby tick nie sterczał poza ramkę */
	.pf-manifest__list li, .pf-features__list li, .pf-included li,
	.pf-price-card__list li {
		padding-right: 8px !important;
		word-break: break-word !important;
	}
	/* Buttony — pełna szerokość, mały gap, łamanie tekstu */
	.pf-hero__ctas { flex-direction: column !important; align-items: stretch !important; gap: 10px !important; }
	.pf-btn { width: 100% !important; justify-content: space-between !important; text-align: left !important; font-size: 14px !important; padding: 14px 16px !important; white-space: normal !important; }
	/* Hero stats — pozwól się zawijać */
	.pf-hero__stats { flex-wrap: wrap !important; white-space: normal !important; gap: 10px !important; }
}

/* === KSA CTA BUTTONS — MOBILE WRAP FIX + WHATSAPP CTA (2026-06-11) === */
.ksa-cta-wa {
	display: flex; align-items: center; justify-content: center; gap: 10px;
	width: 100%; text-align: center;
	padding: 18px 20px;
	background: #25D366; color: #fff !important;
	border: 0; border-radius: 0;
	font-size: 18px; font-weight: 700;
	text-decoration: none !important; cursor: pointer;
	transition: all .15s;
	box-sizing: border-box; font-family: inherit;
	margin: 14px 0 0;
	text-transform: uppercase; letter-spacing: .02em;
}
.ksa-cta-wa:hover { background: #128C7E; color: #fff !important; }
.ksa-cta-wa svg { flex-shrink: 0; width: 22px; height: 22px; fill: currentColor; }
@media (max-width: 600px) {
	.ksa-cta-buy {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 8px !important;
		font-size: 13px !important;
		padding: 14px 12px !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
		letter-spacing: 0 !important;
	}
	.ksa-cta-buy::after { font-size: 16px !important; margin-left: 4px; }
	.ksa-cta-buy svg { width: 18px !important; height: 18px !important; flex-shrink: 0; }
	.ksa-cta-call { font-size: 14px !important; padding: 14px 16px !important; }
	.ksa-cta-wa { font-size: 14px !important; padding: 14px 16px !important; }
}

/* === ASIDE CARD "CO OTRZYMASZ" — MOBILE FIX (2026-06-11) ===
   Box po prawej (na <1100px schodzi pod tekst) wystawał poza ekran
   przez padding 44/36 + duże fonty. Reset paddingów + clampy + box-sizing. */
@media (max-width: 720px) {
	.ecm-aside-card {
		padding: 24px 16px !important;
		position: static !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		overflow-wrap: break-word !important;
	}
	.ecm-aside-card h3 {
		font-size: clamp(20px, 5.6vw, 26px) !important;
		word-break: break-word !important;
		margin: 0 0 18px !important;
	}
	.ecm-aside-card li {
		font-size: 14px !important;
		padding: 12px 0 !important;
		gap: 12px !important;
	}
	.ecm-aside-card li span:first-child { flex: 1; min-width: 0; }
	.ecm-aside-card__price {
		font-size: clamp(36px, 10vw, 56px) !important;
		margin-top: 24px !important;
		word-break: keep-all !important;
	}
	.ecm-aside-card__price .zl { font-size: 22px !important; }
	.ecm-aside-card__sub { font-size: 10px !important; }
	.ecm-aside-card__cta {
		padding: 14px 16px !important;
		font-size: 12px !important;
		letter-spacing: 0.05em !important;
		white-space: normal !important;
		flex-wrap: wrap !important;
		gap: 8px !important;
		line-height: 1.3 !important;
	}
}

/* === ECM PRODUCT TITLE — MOBILE CLAMP (2026-06-11) ===
   "FUNKCJONALNA" w Archivo 900 + uppercase wychodziła poza viewport
   przy clamp(48px, 7vw, 104px) na 375px. Twardszy clamp dla <600px. */
@media (max-width: 600px) {
	.ecm-product__title {
		font-size: clamp(28px, 9vw, 44px) !important;
		line-height: 0.95 !important;
		letter-spacing: -0.04em !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
	}
	.ecm-product__p { font-size: 16px !important; line-height: 1.5 !important; }
	.ecm-product__p2 { font-size: 15px !important; line-height: 1.5 !important; }
}

/* === KSA CTA BUY — "(pierwsza rata)" note line (2026-06-11) ===
   Na mobile cały "Zamów teraz — 6 000 zł (pierwsza rata)" nie mieścił się
   w jednej linii. Note wpadał poza ramkę. display:block na <600px łamie linię. */
.ksa-cta-buy-note { font-size: 0.85em; opacity: 0.9; font-weight: 600; }
@media (max-width: 600px) {
	.ksa-cta-buy { white-space: normal !important; }
	.ksa-cta-buy-note {
		display: block !important;
		margin-top: 2px !important;
		font-size: 0.8em !important;
		opacity: 0.85 !important;
		letter-spacing: 0 !important;
	}
}

/* === MOBILE HEADER REWORK + DRAWER STACKING FIX (2026-06-11) ===
   1. Header dostaje z-index 9999, drawer wewnątrz wygra z hero/wszystkim co poniżej.
   2. Na mobile flex-wrap pozwala "CO SPRZEDAWAĆ?" wpaść do drugiego wiersza
      pod logo, hamburger+logo+koszyk zostają w górnej linii. */
.ecm-header {
	position: relative !important;
	z-index: 9999 !important;
}
@media (max-width: 740px) {
	.ecm-nav {
		flex-wrap: wrap !important;
		height: auto !important;
		min-height: 64px !important;
		padding: 10px 12px !important;
		gap: 8px !important;
		align-items: center !important;
	}
	.ecm-nav__toggle { order: 1 !important; flex: 0 0 auto !important; margin-right: 0 !important; }
	.ecm-nav__logo { order: 2 !important; flex: 0 1 auto !important; margin-right: auto !important; }
	.ecm-nav__logo img { max-height: 56px !important; height: auto !important; width: auto !important; max-width: 200px !important; }
	/* display:contents wyciąga cart + CTA z .ecm-nav__actions wrappera —
	   stają się bezpośrednimi dziećmi .ecm-nav z własnym flex order i wrap. */
	.ecm-nav__actions { display: contents !important; }
	.ecm-nav__cart { order: 3 !important; flex: 0 0 auto !important; }
	/* CTA "CO SPRZEDAWAĆ?" — wymuszamy nową linię pełnej szerokości */
	.ecm-nav__cta {
		order: 99 !important;
		display: flex !important;
		flex: 1 1 100% !important;
		width: 100% !important;
		min-width: 100% !important;
		justify-content: center !important;
		font-size: 13px !important;
		padding: 12px 14px !important;
		letter-spacing: 0.04em !important;
		margin-top: 4px !important;
		background: var(--orange) !important;
		color: var(--ink) !important;
	}
	.ecm-nav__cta .ecm-nav__cta-arrow { color: var(--ink) !important; }
	.ecm-nav__cta-full { display: inline !important; }
	.ecm-nav__cta-short { display: none !important; }
	/* Drawer: po reflow header ma height auto, top:100% nadal działa,
	   ale z-index potrzebny żeby przebić hero */
	nav.ecm-nav.is-open ul.ecm-nav__list {
		z-index: 100000 !important;
		position: absolute !important;
		top: 100% !important;
	}
}
/* Ukrywamy CTA tylko gdy ekran skrajnie wąski (logo + hamburger + cart i tak go gnio.tą) */
@media (max-width: 360px) {
	.ecm-nav__logo img { max-height: 44px !important; max-width: 150px !important; }
	.ecm-nav__cta { font-size: 11px !important; padding: 10px 12px !important; }
}

/* === WC CART BLOCKS — MARGINS + PADDING (2026-06-11) ===
   Strona /koszyk/ to wp-block-woocommerce-cart (Gutenberg). Białe boxy
   stykały się z beżowym tłem strony bez oddechu — dodajemy padding wokół. */
.wp-block-woocommerce-cart {
	padding: clamp(24px, 4vw, 56px) clamp(16px, 3vw, 32px) !important;
	max-width: 1280px !important;
	margin: 0 auto !important;
}
.wp-block-woocommerce-cart .wc-block-cart {
	gap: clamp(20px, 3vw, 40px) !important;
}
.wp-block-woocommerce-cart .wc-block-cart-items,
.wp-block-woocommerce-cart .wc-block-cart__sidebar,
.wp-block-woocommerce-cart .wc-block-components-sidebar {
	background: #fff !important;
	border: 1px solid rgba(10,10,10,0.08) !important;
	padding: clamp(20px, 3vw, 36px) !important;
	border-radius: 4px !important;
}
@media (max-width: 768px) {
	.wp-block-woocommerce-cart {
		padding: 16px 12px !important;
	}
	.wp-block-woocommerce-cart .wc-block-cart-items,
	.wp-block-woocommerce-cart .wc-block-cart__sidebar,
	.wp-block-woocommerce-cart .wc-block-components-sidebar {
		padding: 16px !important;
	}
}

/* === WC CART — DESKTOP TWO-COLUMN LAYOUT (2026-06-11) ===
   sidebar-layout ma flex-wrap:wrap + gap 38px co przy main+side równym
   parent width powoduje że sidebar spada pod main. nowrap + fixed sidebar. */
@media (min-width: 769px) {
	.wp-block-woocommerce-cart .wc-block-components-sidebar-layout {
		flex-wrap: nowrap !important;
		gap: 28px !important;
		align-items: flex-start !important;
	}
	.wp-block-woocommerce-cart .wc-block-cart__main {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		width: auto !important;
	}
	.wp-block-woocommerce-cart .wc-block-cart__sidebar {
		flex: 0 0 360px !important;
		min-width: 0 !important;
		width: 360px !important;
		position: sticky !important;
		top: 24px !important;
	}
}

/* === WC CART — KADENCE WRAPPER RESET (2026-06-11) ===
   Kadence parent theme daje .entry { margin: 0 -16px } + .entry-content-wrap { padding: 24px }
   co przesuwa cart asymetrycznie. Resetujemy te wrappery tylko dla strony /koszyk/. */
body.woocommerce-cart .entry,
body.woocommerce-cart article.entry {
	margin: 0 !important;
}
body.woocommerce-cart .entry-content-wrap {
	padding: 0 !important;
}
body.woocommerce-cart .wp-block-woocommerce-cart {
	width: 100% !important;
}

/* === PRICE CARDS — MOBILE GAP + RIBBON FIX (2026-06-11) ===
   Na <900px karty cenowe układają się jedna pod drugą. Domyślny gap 32px
   za mały, a ribbon "Najczęściej wybierany" + translateY(-12px) na drugiej
   karcie nachodzi na poprzednią. Zwiększamy gap, kasujemy transform,
   ribbon wpychamy do środka karty z paddingiem na górze. */
@media (max-width: 900px) {
	.pf-pricing__grid {
		gap: 64px !important;
	}
	.pf-price-card--highlight {
		transform: none !important;
		padding-top: 56px !important;
		margin-top: 0 !important;
	}
	.pf-price-card__ribbon {
		top: 14px !important;
		right: 14px !important;
		left: auto !important;
	}
}

/* === TIMELINE STEPS — MOBILE STACK + SEPARATORS (2026-06-11) ===
   Na <540px stepy układały się w 2 kolumny ale wysokości nierówne —
   numerki kolejnych stepów nachodziły na opisy poprzednich. Robimy
   1-kolumnowy stack z borderem separatorem między każdym krokiem. */
@media (max-width: 540px) {
	.pf-timeline__steps {
		grid-template-columns: 1fr !important;
		gap: 0 !important;
		margin-top: 32px !important;
	}
	.pf-timeline__steps::before { display: none !important; }
	.pf-step {
		padding: 28px 16px !important;
		border-bottom: 1px solid rgba(245,242,236,0.15) !important;
	}
	.pf-step:last-child { border-bottom: 0 !important; }
	.pf-step__node { margin-bottom: 4px !important; }
}

/* === ASIDE-CARD CTAs HOVER (2026-06-11) ===
   "JAKIE WYNIKI OSIĄGA SKLEP" (czarne tło) miał na hover ciemny tekst od
   default a:hover Kadence — nieczytelny. Wymuszamy biały tekst dla wszystkich. */
.ecm-aside-card__cta:hover,
.ecm-aside-card__cta:hover .arrow,
.ecm-aside-card__cta:focus-visible,
.ecm-aside-card__cta:focus-visible .arrow {
	color: #fff !important;
}
.ecm-aside-card__cta {
	transition: color 0.15s ease, background 0.15s ease !important;
}

/* === WOOCOMMERCE PRODUCT THUMBNAILS — FULL IMAGE (2026-06-11) ===
   Domyślny Kadence/WC thumbnail z object-fit: cover przycinał pionowe
   plakaty produktów do kwadratu. Pokazujemy całe zdjęcie (contain)
   w spójnej ramce 3:4 z cream tłem dopełniającym. */
/* 2026-06-11 #2200 — kafelki produktów: stała proporcja 3/4 z object-fit:contain,
   tło CREAM (jak strona) żeby paski dopełnienia zlały się z tłem i były niewidoczne.
   Bez tego grid wyrównywał wszystkie kafelki do najwyższego obrazu (np. 384x1500) —
   wokół niższych obrazów pojawiały się białe puste paski. */
.woocommerce ul.products li.product .woocommerce-loop-image-link,
.woocommerce ul.products li.product .woocommerce-LoopProduct-link img,
.wc-block-grid__product-image,
.wc-block-grid__product-image img,
.wp-block-post-template li img,
.wp-block-woocommerce-product-image img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
	aspect-ratio: 3/4 !important;
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
	object-fit: contain !important;
	background: #F5F2EC !important;
	display: block !important;
}
.woocommerce ul.products li.product {
	background: #F5F2EC !important;
}
.woocommerce ul.products li.product .woocommerce-loop-image-link {
	background: #F5F2EC !important;
}

/* === WC PRODUCT CARD — DETAILS FULL WIDTH (2026-06-11) ===
   Kadence wrapper .product-details.entry-content-wrap miał padding/margin
   zwężający białą ramkę pod obrazem względem szerokości zdjęcia. Forsujemy
   pełną szerokość z paddingiem wewnątrz tylko na tekst. */
.woocommerce ul.products li.product .product-details,
.woocommerce ul.products li.product .entry-content-wrap {
	margin: 0 !important;
	padding: 18px 16px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* === BATCH 2026-06-11 #1700 ===
   - Footer tag chips: zachowaj jasny tekst na hover (Kadence a:hover #ff6e29 robił niewidoczny po hover na ciemnym tle)
   - Checkout (woocommerce-checkout) — te same poprawki marginesów + 2-kolumnowy desktop layout co na koszyku
   - Strona pojedynczego produktu: ukryj nagłówek "Opis" w tabach żeby treść szła pełną szerokością
   - Product card listing: agresywniejszy override marginesów boxa z nazwą */

/* — Footer tag chips: biały tekst po hover */
.ecm-footer__tag:hover,
.ecm-footer__tag:focus-visible {
	color: #fff !important;
	border-color: rgba(245,242,236,0.6) !important;
	background: rgba(255,255,255,0.05) !important;
}

/* — Checkout: te same marginesy co koszyk */
body.woocommerce-checkout .entry,
body.woocommerce-checkout article.entry {
	margin: 0 !important;
}
body.woocommerce-checkout .entry-content-wrap { padding: 0 !important; }
body.woocommerce-checkout .wp-block-woocommerce-checkout { width: 100% !important; }
.wp-block-woocommerce-checkout {
	padding: clamp(24px, 4vw, 56px) clamp(16px, 3vw, 32px) !important;
	max-width: 1280px !important;
	margin: 0 auto !important;
}
.wp-block-woocommerce-checkout .wc-block-checkout__main,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout .wc-block-components-sidebar {
	background: #fff !important;
	border: 1px solid rgba(10,10,10,0.08) !important;
	padding: clamp(20px, 3vw, 36px) !important;
	border-radius: 4px !important;
	box-sizing: border-box !important;
}
@media (min-width: 769px) {
	.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout {
		flex-wrap: nowrap !important;
		gap: 28px !important;
		align-items: flex-start !important;
	}
	.wp-block-woocommerce-checkout .wc-block-checkout__main {
		flex: 1 1 auto !important; min-width: 0 !important; width: auto !important;
	}
	.wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
		flex: 0 0 360px !important; min-width: 0 !important; width: 360px !important;
		position: sticky !important; top: 24px !important;
	}
}
@media (max-width: 768px) {
	.wp-block-woocommerce-checkout { padding: 16px 12px !important; }
	.wp-block-woocommerce-checkout .wc-block-checkout__main,
	.wp-block-woocommerce-checkout .wc-block-checkout__sidebar { padding: 16px !important; }
}

/* — Single product: ukryj "Opis" nagłówek z tabów żeby content szedł pełną szerokością */
body.single-product .woocommerce-tabs .panel > h2,
body.single-product .woocommerce-tabs .wc-tab > h2,
body.single-product .wc-tabs > li.description_tab,
body.single-product ul.tabs.wc-tabs { display: none !important; }
body.single-product .woocommerce-tabs .panel,
body.single-product .woocommerce-tabs .wc-tab {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	padding-top: 0 !important;
}

/* — Product card listing: silniejszy override w razie szerszego selektora */
body.archive .woocommerce ul.products li.product .product-details,
body.archive .woocommerce ul.products li.product .entry-content-wrap,
body.post-type-archive-product .woocommerce ul.products li.product .product-details,
body.post-type-archive-product .woocommerce ul.products li.product .entry-content-wrap,
body.tax-product_cat .woocommerce ul.products li.product .product-details,
body.tax-product_cat .woocommerce ul.products li.product .entry-content-wrap {
	margin: 0 !important;
	padding: 18px 16px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	max-width: 100% !important;
}
.woocommerce ul.products li.product {
	overflow: hidden;
}

/* === WC ORDER RECEIVED ("Dziękujemy") — STYLING (2026-06-11) ===
   Strona /zamowienie/order-received/ była surowy WC bez układu - resetujemy
   Kadence wrappery i pakujemy całość w białą kartę z paddingiem. */
body.woocommerce-order-received .entry,
body.woocommerce-order-received article.entry { margin: 0 !important; }
body.woocommerce-order-received .entry-content-wrap { padding: 0 !important; }

body.woocommerce-order-received .woocommerce-order,
body.woocommerce-order-received .woocommerce-thankyou-order-received,
body.woocommerce-order-received .wp-block-woocommerce-order-confirmation,
body.woocommerce-order-received .entry-content {
	max-width: 1100px !important;
	margin: 24px auto !important;
	padding: clamp(24px, 4vw, 56px) clamp(20px, 3vw, 48px) !important;
	background: #fff !important;
	border: 1px solid rgba(10,10,10,0.08) !important;
	border-radius: 4px !important;
	box-sizing: border-box !important;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
	font-size: clamp(20px, 2vw, 26px) !important;
	font-family: var(--ff-display) !important;
	font-weight: 800 !important;
	color: var(--orange) !important;
	margin: 0 0 28px !important;
	padding-bottom: 18px !important;
	border-bottom: 2px solid var(--ink) !important;
	text-transform: uppercase !important;
	letter-spacing: -0.01em !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview,
body.woocommerce-order-received ul.order_details {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
	gap: 18px !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 36px !important;
}
body.woocommerce-order-received ul.order_details li {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	font-family: var(--ff-mono) !important;
	font-size: 11px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.18em !important;
	color: rgba(10,10,10,0.6) !important;
}
body.woocommerce-order-received ul.order_details li strong {
	display: block !important;
	margin-top: 4px !important;
	font-family: var(--ff-display) !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--ink) !important;
}

body.woocommerce-order-received .woocommerce-bacs-bank-details,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
	margin: 36px 0 0 !important;
	padding-top: 28px !important;
	border-top: 1px solid rgba(10,10,10,0.1) !important;
}
body.woocommerce-order-received .woocommerce-bacs-bank-details h2,
body.woocommerce-order-received .woocommerce-order-details h2,
body.woocommerce-order-received .woocommerce-customer-details h2,
body.woocommerce-order-received .woocommerce-column__title {
	font-family: var(--ff-display) !important;
	font-weight: 800 !important;
	font-size: clamp(20px, 2vw, 26px) !important;
	letter-spacing: -0.01em !important;
	margin: 0 0 20px !important;
}
body.woocommerce-order-received .wc-bacs-bank-details-account-name {
	font-family: var(--ff-display) !important;
	font-weight: 800 !important;
	font-size: 18px !important;
	margin: 0 0 12px !important;
}
body.woocommerce-order-received .wc-bacs-bank-details-account-name + ul,
body.woocommerce-order-received .wc-bacs-bank-details {
	list-style: none !important;
	padding: 16px !important;
	background: #F5F2EC !important;
	border: 1px solid rgba(10,10,10,0.08) !important;
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
	gap: 14px !important;
}
body.woocommerce-order-received .wc-bacs-bank-details li,
body.woocommerce-order-received .wc-bacs-bank-details-account-fields li {
	font-family: var(--ff-mono) !important;
	font-size: 11px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.16em !important;
	color: rgba(10,10,10,0.6) !important;
}
body.woocommerce-order-received .wc-bacs-bank-details li strong {
	display: block !important;
	color: var(--ink) !important;
	font-family: var(--ff-display) !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	margin-top: 4px !important;
}

body.woocommerce-order-received table.shop_table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin: 16px 0 28px !important;
}
body.woocommerce-order-received table.shop_table th,
body.woocommerce-order-received table.shop_table td {
	padding: 14px 12px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(10,10,10,0.1) !important;
	text-align: left !important;
	font-size: 15px !important;
}
body.woocommerce-order-received table.shop_table th {
	font-family: var(--ff-mono) !important;
	font-size: 11px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.18em !important;
	color: rgba(10,10,10,0.6) !important;
	background: transparent !important;
}
body.woocommerce-order-received table.shop_table tfoot th {
	font-family: var(--ff-display) !important;
	font-weight: 800 !important;
	font-size: 14px !important;
	color: var(--ink) !important;
}
body.woocommerce-order-received table.shop_table tfoot tr:last-child th,
body.woocommerce-order-received table.shop_table tfoot tr:last-child td {
	font-size: 20px !important;
	color: var(--ink) !important;
	border-top: 2px solid var(--ink) !important;
	border-bottom: 0 !important;
	padding-top: 18px !important;
}

@media (max-width: 600px) {
	body.woocommerce-order-received .woocommerce-order,
	body.woocommerce-order-received .wp-block-woocommerce-order-confirmation,
	body.woocommerce-order-received .entry-content {
		margin: 12px !important;
		padding: 18px 14px !important;
	}
	body.woocommerce-order-received ul.order_details {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}
	body.woocommerce-order-received .wc-bacs-bank-details {
		grid-template-columns: 1fr !important;
	}
}

/* === WC ORDER RECEIVED — single frame + left-aligned overview (2026-06-11 #1845) ===
   Kris: "zredukowałbym o jedną ramkę mniej i przesunął wiersz z numerem zamówienia do lewej". */

/* Zerwij białą kartę Kadence (.entry-content.single-content + article.entry) na thank-you,
   żeby została tylko jedna ramka — moja .woocommerce-order. */
body.woocommerce-order-received .entry-content,
body.woocommerce-order-received .entry-content.single-content,
body.woocommerce-order-received article.entry,
body.woocommerce-order-received .entry-content-wrap {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* "DZIĘKUJEMY" — bez wewnętrznego boxa/border, lewy align, mniejszy padding */
body.woocommerce-order-received .woocommerce-thankyou-order-received {
	padding: 0 0 18px !important;
	margin: 0 0 28px !important;
	text-align: left !important;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 2px solid var(--ink) !important;
}

/* Overview list — wyrównaj do lewej, zacznij od krawędzi kontenera, gęstszy grid */
body.woocommerce-order-received ul.woocommerce-order-overview,
body.woocommerce-order-received ul.order_details,
body.woocommerce-order-received .woocommerce-order-overview {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(160px, max-content)) !important;
	justify-content: start !important;
	gap: 28px 56px !important;
	text-align: left !important;
	padding: 0 !important;
	margin: 0 0 36px !important;
	list-style: none !important;
}
body.woocommerce-order-received ul.woocommerce-order-overview li,
body.woocommerce-order-received ul.order_details li {
	text-align: left !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
}

/* === THANK YOU — MOBILE STACK + ALIGN FIX (2026-06-11 #1920) ===
   Na <600px lista NUMER ZAMÓWIENIA/DATA/EMAIL/RAZEM/METODA układała się w 2
   kolumnach z pierwszą komórką pustą — wymuszamy 1 kolumnę na wszystkich UL info. */
@media (max-width: 600px) {
	body.woocommerce-order-received ul.woocommerce-order-overview,
	body.woocommerce-order-received ul.order_details,
	body.woocommerce-order-received .woocommerce-order-overview {
		display: flex !important;
		flex-direction: column !important;
		grid-template-columns: 1fr !important;
		gap: 18px !important;
		width: 100% !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
	}
	body.woocommerce-order-received ul.woocommerce-order-overview li,
	body.woocommerce-order-received ul.order_details li,
	body.woocommerce-order-received .woocommerce-order-overview li {
		width: 100% !important;
		display: block !important;
		text-align: left !important;
		max-width: 100% !important;
	}
	body.woocommerce-order-received .woocommerce-thankyou-order-received {
		font-size: clamp(16px, 4.6vw, 22px) !important;
		line-height: 1.2 !important;
		word-break: break-word !important;
	}
	/* Numer konta itd. — żeby długi ciąg cyfr łamał się i nie wystawał */
	body.woocommerce-order-received .wc-bacs-bank-details li,
	body.woocommerce-order-received .wc-bacs-bank-details li strong {
		word-break: break-all !important;
	}
}

/* =====================================================================
   BLOG CATEGORY ARCHIVE — design wg handoff (2026-06-11)
   - Hero kategorii + filtr chipy (sticky) + grid postów + CTA + related
   - Klasy z prefixem .bcat- żeby nie kolidowało z istniejącymi
   ===================================================================== */

.bcat-root { background: var(--cream, #F5F2EC); color: var(--ink, #0A0A0A); font-family: var(--ff-body, 'Space Grotesk', sans-serif); }
.bcat-container { max-width: 1840px; margin: 0 auto; padding: 0 32px; }

/* ----- 1. HERO ----- */
.bcat-hero {
	background: #F5F2EC;
	padding: 72px 0 64px;
	border-bottom: 1.5px solid #0A0A0A;
}
.bcat-eyebrow {
	display: flex; align-items: center; gap: 16px; margin-bottom: 40px;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
}
.bcat-eyebrow__num { color: #FF5A1F; }
.bcat-eyebrow__line { width: 48px; height: 1px; background: rgba(10,10,10,0.3); display: block; flex-shrink: 0; }
.bcat-eyebrow__kicker { color: rgba(10,10,10,0.6); }

.bcat-hero__copy { max-width: 1000px; }
.bcat-hero__h1 {
	font-family: 'Archivo', sans-serif;
	font-weight: 900;
	font-size: clamp(48px, 7vw, 104px);
	letter-spacing: -0.05em;
	line-height: 0.9;
	margin: 0 0 28px;
	text-transform: uppercase;
	color: #0A0A0A;
	text-wrap: balance;
}
.bcat-hero__lead {
	font-size: clamp(17px, 1.6vw, 21px);
	line-height: 1.55;
	color: #1c1c1c;
	max-width: 820px;
	margin: 0 0 28px;
	text-wrap: pretty;
}
.bcat-hero__stats { display: flex; gap: 28px; flex-wrap: wrap; }
.bcat-hero__stat { display: flex; align-items: baseline; gap: 8px; }
.bcat-hero__stat-num {
	font-family: 'Archivo', sans-serif; font-weight: 900;
	font-size: 18px; letter-spacing: -0.01em; color: #0A0A0A;
}
.bcat-hero__stat-lbl {
	font-family: 'JetBrains Mono', monospace;
	font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase;
	color: rgba(10,10,10,0.5);
}

/* ----- 2. FILTR ----- */
.bcat-filter {
	position: sticky; top: 0; z-index: 40;
	background: #ECE8DC;
	border-bottom: 1.5px solid #0A0A0A;
}
.bcat-filter__inner {
	display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
	padding: 16px 32px;
}
.bcat-filter__label {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
	color: rgba(10,10,10,0.5);
	margin-right: 6px;
}
.bcat-chip {
	padding: 9px 16px;
	background: transparent; color: #0A0A0A;
	border: 1.5px solid rgba(10,10,10,0.25);
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 600;
	text-decoration: none !important;
	transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}
.bcat-chip:hover, .bcat-chip:focus-visible {
	background: #0A0A0A; color: #F5F2EC !important; border-color: #0A0A0A;
}
.bcat-chip.is-active {
	background: #0A0A0A; color: #F5F2EC !important; border-color: #0A0A0A;
}

/* ----- 3. GRID POSTÓW ----- */
.bcat-grid-section {
	background: #F5F2EC;
	padding: 72px 0 90px;
}
.bcat-grid-section__head {
	display: flex; justify-content: space-between; align-items: flex-end;
	margin-bottom: 48px; gap: 40px;
}
.bcat-grid-section__h2 {
	font-family: 'Archivo', sans-serif; font-weight: 900;
	font-size: clamp(32px, 5vw, 64px); letter-spacing: -0.05em; line-height: 0.9;
	margin: 0; text-transform: uppercase; text-wrap: balance;
}
.bcat-grid-section__count {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
	color: rgba(10,10,10,0.55);
	flex-shrink: 0;
}

.bcat-grid {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 56px 32px;
}

.bcat-card { display: flex; flex-direction: column; }
.bcat-card--big { grid-column: span 2; }
.bcat-card__link {
	color: #0A0A0A !important; text-decoration: none !important;
	display: flex; flex-direction: column; height: 100%;
	transition: transform 0.18s ease;
}
.bcat-card__link:hover .bcat-card__arrow { transform: translate(3px, -3px); }
.bcat-card__link:hover .bcat-card__title { color: #FF5A1F; }

.bcat-card__cover {
	width: 100%; aspect-ratio: 4/3;
	background: oklch(0.93 0.03 var(--hue, 200));
	border: 1.5px solid #0A0A0A;
	position: relative; margin-bottom: 18px; overflow: hidden;
}
.bcat-card--big .bcat-card__cover { aspect-ratio: 16/9; }
.bcat-card__img {
	position: absolute; inset: 0; width: 100%; height: 100%;
	object-fit: cover; display: block; z-index: 1;
}
.bcat-card__cover-pattern {
	position: absolute; inset: 0;
	background-image: repeating-linear-gradient(135deg, transparent 0 12px, rgba(10,10,10,0.05) 12px 13px);
	pointer-events: none; z-index: 2;
}
.bcat-card__tag-chip {
	position: absolute; top: 12px; left: 12px; z-index: 3;
	background: #0A0A0A; color: #F5F2EC; padding: 5px 10px;
	font-family: 'JetBrains Mono', monospace;
	font-size: 10px; letter-spacing: 0.18em; font-weight: 700; text-transform: uppercase;
}
.bcat-card__tag-mark {
	position: absolute; bottom: 6px; right: 16px; z-index: 2;
	font-family: 'Archivo', sans-serif; font-weight: 900;
	font-size: 92px; letter-spacing: -0.06em;
	color: rgba(10,10,10,0.16); line-height: 0.8;
	pointer-events: none;
}
.bcat-card--big .bcat-card__tag-mark { font-size: 150px; }
.bcat-card__arrow {
	position: absolute; top: 12px; right: 12px; z-index: 3;
	width: 44px; height: 44px; background: #FF5A1F; border: 1.5px solid #0A0A0A;
	display: flex; align-items: center; justify-content: center;
	font-family: 'Archivo', sans-serif; font-weight: 900; font-size: 22px;
	color: #0A0A0A;
	transition: transform 0.18s ease;
}
.bcat-card__meta {
	font-family: 'JetBrains Mono', monospace;
	font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase;
	color: rgba(10,10,10,0.55);
	margin-bottom: 8px;
}
.bcat-card__title {
	font-family: 'Archivo', sans-serif; font-weight: 800;
	font-size: 22px; letter-spacing: -0.035em; line-height: 1.06;
	margin: 0 0 14px; text-transform: uppercase; text-wrap: balance;
	color: #0A0A0A;
	transition: color 0.15s ease;
}
.bcat-card--big .bcat-card__title { font-size: clamp(28px, 3vw, 40px); }
.bcat-card__excerpt {
	margin: 0 0 18px; font-size: 15px; line-height: 1.55;
	color: rgba(10,10,10,0.66); text-wrap: pretty;
}
.bcat-card--big .bcat-card__excerpt { font-size: 17px; max-width: 760px; }
.bcat-card__cta {
	margin-top: auto; align-self: flex-start; padding-bottom: 4px;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 700;
	border-bottom: 1.5px solid #FF5A1F;
}

/* Paginacja */
.bcat-pagination {
	margin-top: 80px; padding-top: 32px; border-top: 1.5px solid #0A0A0A;
	display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap;
}
.bcat-pagination__pages {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
	color: rgba(10,10,10,0.55);
}
.bcat-pagination__nav ul.page-numbers,
.bcat-pagination__nav .page-numbers {
	display: flex; gap: 8px; list-style: none; padding: 0; margin: 0;
}
.bcat-pagination__nav .page-numbers a,
.bcat-pagination__nav .page-numbers span {
	width: 48px; height: 48px;
	display: flex; align-items: center; justify-content: center;
	border: 1.5px solid #0A0A0A;
	background: transparent; color: #0A0A0A !important;
	font-family: 'Archivo', sans-serif; font-weight: 900; font-size: 16px;
	text-decoration: none !important;
	transition: background 0.12s ease, color 0.12s ease;
}
.bcat-pagination__nav .page-numbers.current,
.bcat-pagination__nav .page-numbers a:hover {
	background: #0A0A0A; color: #F5F2EC !important;
}

.bcat-empty {
	font-size: 20px; text-align: center; padding: 60px 0;
	color: rgba(10,10,10,0.55);
}

/* ----- 4. CTA ----- */
.bcat-cta {
	background: #0A0A0A; color: #F5F2EC;
	padding: 100px 0;
}
.bcat-cta__grid {
	display: grid; grid-template-columns: 1.4fr 1fr; gap: 64px; align-items: center;
}
.bcat-cta__eyebrow {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
	color: #FF5A1F;
	display: block; margin-bottom: 20px;
}
.bcat-cta__h2 {
	font-family: 'Archivo', sans-serif; font-weight: 900;
	font-size: clamp(40px, 6vw, 88px); letter-spacing: -0.055em; line-height: 0.88;
	margin: 0 0 24px; text-transform: uppercase; text-wrap: balance;
}
.bcat-cta__h2-accent { color: #FF5A1F; }
.bcat-cta__lead {
	font-size: clamp(16px, 1.4vw, 20px); line-height: 1.55;
	color: rgba(245,242,236,0.78); max-width: 720px; margin: 0;
}
.bcat-cta__buttons { display: flex; flex-direction: column; gap: 14px; }
.bcat-cta__btn {
	padding: 24px 30px;
	font-family: 'Archivo', sans-serif; font-weight: 900;
	font-size: 18px; letter-spacing: -0.01em; text-transform: uppercase;
	display: flex; align-items: center; justify-content: space-between;
	text-decoration: none !important;
	transition: filter 0.12s ease, background 0.12s ease, color 0.12s ease;
}
.bcat-cta__btn--solid {
	background: #FF5A1F; color: #0A0A0A !important;
}
.bcat-cta__btn--solid:hover { filter: brightness(0.95); }
.bcat-cta__btn--ghost {
	border: 1.5px solid rgba(245,242,236,0.4); color: #F5F2EC !important;
	font-family: 'Space Grotesk', sans-serif; font-weight: 600;
	font-size: 16px; letter-spacing: 0; text-transform: none;
}
.bcat-cta__btn--ghost:hover { background: rgba(245,242,236,0.06); color: #fff !important; }
.bcat-cta__contact {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
	color: rgba(245,242,236,0.5); margin-top: 8px;
}
.bcat-cta__contact .dot { color: #FF5A1F; }

/* ----- 5. POWIĄZANE KATEGORIE ----- */
.bcat-related {
	background: #ECE8DC;
	padding: 80px 0;
	border-top: 1px solid rgba(10,10,10,0.08);
}
.bcat-related__head { display: flex; align-items: center; gap: 16px; margin-bottom: 28px; }
.bcat-related__eyebrow {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
	color: #FF5A1F;
}
.bcat-related__line { flex: 1; height: 1px; background: rgba(10,10,10,0.2); display: block; }
.bcat-related__chips { display: flex; gap: 12px; flex-wrap: wrap; }
.bcat-related__chip {
	padding: 14px 22px; border: 1.5px solid #0A0A0A; color: #0A0A0A !important;
	background: #F5F2EC;
	font-family: 'Archivo', sans-serif; font-weight: 800;
	font-size: 17px; letter-spacing: -0.01em; text-transform: uppercase;
	display: inline-flex; align-items: center; gap: 12px;
	text-decoration: none !important;
	transition: background 0.12s ease, color 0.12s ease;
}
.bcat-related__chip span { color: #FF5A1F; }
.bcat-related__chip:hover { background: #0A0A0A; color: #F5F2EC !important; }
.bcat-related__chip:hover span { color: #FF5A1F; }

/* ----- Responsywność ----- */
@media (max-width: 1100px) {
	.bcat-grid { grid-template-columns: repeat(2, 1fr); gap: 40px 24px; }
	.bcat-card--big { grid-column: span 2; }
	.bcat-cta__grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 740px) {
	.bcat-container { padding: 0 20px; }
	.bcat-hero { padding: 48px 0 40px; }
	.bcat-hero__h1 { font-size: clamp(36px, 11vw, 72px); }
	.bcat-grid-section { padding: 48px 0 60px; }
	.bcat-grid-section__head { flex-direction: column; align-items: flex-start; gap: 16px; }
	.bcat-grid { grid-template-columns: 1fr; gap: 40px; }
	.bcat-card--big { grid-column: span 1; }
	.bcat-card--big .bcat-card__cover { aspect-ratio: 4/3; }
	.bcat-card--big .bcat-card__tag-mark { font-size: 92px; }
	.bcat-card--big .bcat-card__title { font-size: 28px; }
	.bcat-card--big .bcat-card__excerpt { font-size: 15px; }
	.bcat-filter { position: relative; top: auto; }
	.bcat-filter__inner { padding: 14px 20px; overflow-x: auto; flex-wrap: nowrap; }
	.bcat-chip { flex-shrink: 0; }
	.bcat-cta { padding: 64px 0; }
	.bcat-cta__h2 { font-size: clamp(32px, 9vw, 56px); }
	.bcat-related { padding: 56px 0; }
	.bcat-pagination__nav .page-numbers a, .bcat-pagination__nav .page-numbers span { width: 40px; height: 40px; font-size: 14px; }
}

/* Kris 2026-06-11 #2020 — kasujemy wyblakłe duże litery tagu z prawego dołu coveru. */
.bcat-card__tag-mark { display: none !important; }

/* === SINGLE POST — SZERSZY CONTAINER (2026-06-11 #2035) ===
   Kadence default "narrow" daje .content-container max-width:842px na single post.
   Kris chce szerszy widok — podnosimy do 1200px (i 100% boczne na mobile). */
body.single-post .content-container {
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(16px, 4vw, 40px) !important;
	padding-right: clamp(16px, 4vw, 40px) !important;
}
body.single-post .entry-content-wrap { padding: clamp(20px, 3vw, 40px) !important; }

/* === SINGLE POST — FEATURED IMAGE CENTERED (2026-06-11 #2105) ===
   Kris: "zdjęcie może być 10px pod treścią ale wyrównane centralnie".
   Kadence renderuje featured image w różnych klasach (entry-hero / post-thumbnail
   / kadence-feature). Wymuszamy centerowanie i 10px margines do następnego bloku. */
body.single-post .entry-hero,
body.single-post .post-thumbnail,
body.single-post .kadence-post-thumb,
body.single-post .kadence-single-feature-img,
body.single-post .single-featured-image,
body.single-post .featured-image,
body.single-post .wp-block-post-featured-image,
body.single-post .post-thumbnail-wrap {
	display: block !important;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-bottom: 10px !important;
	max-width: 100% !important;
	text-align: center !important;
}
body.single-post .entry-hero img,
body.single-post .post-thumbnail img,
body.single-post .kadence-post-thumb img,
body.single-post .kadence-single-feature-img img,
body.single-post .single-featured-image img,
body.single-post .featured-image img,
body.single-post .wp-block-post-featured-image img,
body.single-post .post-thumbnail-wrap img,
body.single-post .wp-post-image {
	display: block !important;
	margin: 0 auto !important;
	max-width: 100% !important;
	height: auto !important;
}

/* === PRODUCT CARDS — EQUAL HEIGHT IN ROW (2026-06-11 #2215) ===
   Tytuły wielolinijkowe sprawiały, że karta z dłuższą nazwą wystawała w dół
   poza linię sąsiednich kart. Stretch po grid + flex col na li + flex:1 na
   .product-details wyrównuje białe boxy do tej samej wysokości w wierszu. */
.woocommerce ul.products {
	align-items: stretch !important;
}
.woocommerce ul.products li.product {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
}
.woocommerce ul.products li.product .product-details,
.woocommerce ul.products li.product .entry-content-wrap {
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
}


/* === BLOK — Shortcode [grw] (sekcja .ecm-grw) (2026-06-12 #11:35) ===
 * Override karty opinii dla bloku wstawianego shortcodem [grw id=...].
 * Powód: na podstronach (Kadence wrapper) flex-basis procentowy z .ecm-reviews
 * zwęża karty do ~170px → header "KLIENT Z GOOGLE" wraps w 2 linie, opinia
 * jako kolumna telefoniczna. Tu: fixed-width karta + sensowne paddingi.
 */
.ecm-grw.ecm-reviews {
	padding: clamp(48px, 6vw, 80px) 0;
	border-top: 1px solid rgba(10,10,10,0.08);
}
.ecm-grw .ecm-container {
	max-width: 1240px;
	margin: 0 auto;
	padding-left: clamp(16px, 3vw, 32px);
	padding-right: clamp(16px, 3vw, 32px);
}
.ecm-grw .ecm-reviews__head {
	margin-bottom: clamp(32px, 4vw, 48px);
	align-items: center;
}
.ecm-grw .ecm-reviews__head .ecm-h2 {
	font-size: clamp(40px, 6vw, 72px);
	line-height: 0.95;
}
.ecm-grw .ecm-reviews__head .ecm-h2 .muted {
	font-size: clamp(14px, 1.4vw, 18px);
	margin-top: 8px;
}
.ecm-grw .ecm-reviews__all {
	padding: 14px 20px;
	font-size: 12px;
}

/* Karuzela — fixed width karty + scroll-snap; nie używa procentowego flex z home */
.ecm-grw .ecm-reviews__grid {
	gap: 20px;
	padding: 4px 4px 16px;
	align-items: stretch;
}
.ecm-grw .ecm-reviews__grid > .ecm-review {
	flex: 0 0 360px !important;
	min-width: 360px;
	max-width: 360px;
	padding: 24px;
	gap: 16px;
}
@media (max-width: 480px) {
	.ecm-grw .ecm-reviews__grid > .ecm-review {
		flex: 0 0 calc(100vw - 64px) !important;
		min-width: 0;
		max-width: 100%;
	}
}

/* Header karty — większy gap, name nie wraps */
.ecm-grw .ecm-review__head {
	grid-template-columns: 40px 1fr auto;
	gap: 12px;
}
.ecm-grw .ecm-review__avatar {
	width: 40px; height: 40px;
}
.ecm-grw .ecm-review__avatar svg { width: 22px; height: 22px; }
.ecm-grw .ecm-review__name {
	font-size: 13px;
	letter-spacing: 0.02em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ecm-grw .ecm-review__date {
	font-size: 9px;
	letter-spacing: 0.16em;
	margin-top: 3px;
}
.ecm-grw .ecm-review__stars {
	font-size: 14px;
	letter-spacing: 1px;
}
.ecm-grw .ecm-review__text {
	font-size: 15px;
	line-height: 1.6;
}

/* Strzałki — mniejsze, dalej od kart */
.ecm-grw .ecm-reviews__nav {
	width: 40px; height: 40px;
	font-size: 20px;
	box-shadow: 2px 2px 0 0 var(--ink);
}
.ecm-grw .ecm-reviews__nav--prev { left: -16px; }
.ecm-grw .ecm-reviews__nav--next { right: -16px; }
@media (max-width: 720px) {
	.ecm-grw .ecm-reviews__nav { width: 36px; height: 36px; font-size: 18px; }
	.ecm-grw .ecm-reviews__nav--prev { left: 4px; }
	.ecm-grw .ecm-reviews__nav--next { right: 4px; }
}

/* Mobile head — kolumna, nie row */
@media (max-width: 720px) {
	.ecm-grw .ecm-reviews__head {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}
	.ecm-grw .ecm-reviews__head .ecm-h2 {
		font-size: clamp(32px, 8vw, 48px);
	}
}


/* === BLOK — Shortcode [grw] equal-height + scroll wewnętrzny (2026-06-12 #12:10) ===
 * Karty równej wysokości, dłuższe opinie przewijane wewnątrz karty.
 * Header (avatar+name+stars) i source (footer) — sztywne, tekst flex-grow + overflow-y.
 */
.ecm-grw .ecm-review {
	height: 480px;
	overflow: hidden;
}
.ecm-grw .ecm-review__head { flex-shrink: 0; }
.ecm-grw .ecm-review__text {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	padding-right: 8px;
	scrollbar-width: thin;
	scrollbar-color: rgba(10,10,10,0.25) transparent;
	overscroll-behavior: contain;
	/* delikatne wyciszenie ostatniej linii — sygnalizuje że można scrollować */
	mask-image: linear-gradient(to bottom, #000 calc(100% - 18px), transparent);
	-webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 18px), transparent);
}
.ecm-grw .ecm-review__text::-webkit-scrollbar { width: 6px; }
.ecm-grw .ecm-review__text::-webkit-scrollbar-track { background: transparent; }
.ecm-grw .ecm-review__text::-webkit-scrollbar-thumb {
	background: rgba(10,10,10,0.25);
	border-radius: 3px;
}
.ecm-grw .ecm-review__text::-webkit-scrollbar-thumb:hover { background: rgba(10,10,10,0.45); }
.ecm-grw .ecm-review__source { flex-shrink: 0; }

@media (max-width: 720px) {
	.ecm-grw .ecm-review { height: 440px; }
}

/* === Aside card "Co otrzymasz w pakiecie" — stara cena przekreślona (2026-06-12) === */
.ecm-aside-card__price { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.ecm-aside-card__price-old {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 28px;
	letter-spacing: -0.02em;
	text-decoration: line-through;
	color: var(--ink-muted);
	line-height: 1;
}
