/*
Theme Name: FITMADE 2026
Theme URI: https://fitmade.pl
Author: SEOHOUSE
Author URI: https://seohouse.pl
Description: Lekki motyw FITMADE – plany treningowe, biblioteka ćwiczeń i treści. Bez page buildera, bez zmian w strukturze URL.
Version: 2.4.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: fitmade
*/

/* Tokeny – kolory talerzy olimpijskich kodują poziom zaawansowania */
:root {
	--chalk: #f3f4f6;
	--paper: #ffffff;
	--ink: #111825;
	--navy: #151f2e;
	--steel: #5d6a89;
	--line: #e3e6eb;
	--brand: #d7b778;
	--brand-h: color-mix(in srgb, var(--brand) 86%, #000);
	--brand-d: color-mix(in srgb, var(--brand) 52%, #000);
	--on-brand: #111825;
	/* Kolory poziomów (kropki) – tylko jako informacja */
	--yellow: #f2b705;
	--green: #2e9a58;
	--blue: #1f5fbf;
	--f-display: "Nunito Sans", "Avenir Next", "Segoe UI", system-ui, sans-serif;
	--f-body: "Nunito Sans", "Avenir Next", "Segoe UI", system-ui, -apple-system, sans-serif;
	--wrap: 1200px;
	--gutter: clamp(1rem, 4vw, 2rem);
	--r-btn: 999px;
	--r-card: 10px;
	--r-panel: 14px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 5rem; }
body {
	margin: 0;
	background: var(--chalk);
	color: var(--ink);
	font: 400 1.0625rem/1.6 var(--f-body);
	text-rendering: optimizeLegibility;
}
img, video, iframe { max-width: 100%; height: auto; display: block; }
a { color: var(--brand-d); text-underline-offset: .15em; }
a:hover { color: var(--ink); }
:focus-visible { outline: 3px solid var(--yellow); outline-offset: 2px; border-radius: 2px; }
h1, h2, h3, h4 {
	font-family: var(--f-display);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: .005em;
	margin: 0 0 .5em;
	text-wrap: balance;
}
h1 { font-size: clamp(2.3rem, 5.6vw, 4.1rem); }
h2 { font-size: clamp(1.75rem, 3.4vw, 2.6rem); }
h3 { font-size: 1.45rem; }
p { margin: 0 0 1em; }

.wrap { max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }
.screen-reader-text, .sr-only {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(0 0 0 0); white-space: nowrap; border: 0; padding: 0; margin: -1px;
}
.skip { position: absolute; left: -999px; top: 0; z-index: 100; background: var(--ink); color: #fff; padding: .75rem 1rem; }
.skip:focus { left: 1rem; }

/* Przyciski */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	min-height: 48px; padding: .7rem 1.3rem;
	border: 2px solid transparent; border-radius: var(--r-btn);
	font: 600 1rem/1 var(--f-display);
	text-decoration: none; cursor: pointer;
}
.btn--cta { background: var(--brand); color: var(--on-brand); }
.btn--cta:hover { background: var(--brand-h); color: var(--on-brand); }
.btn--ghost { border-color: var(--ink); color: var(--ink); background: transparent; }
.btn--ghost:hover { background: var(--ink); color: #fff; }
.btn--light { background: #fff; color: var(--ink); }
.btn--block { width: 100%; }

/* Nagłówek */
.site-header { position: sticky; top: 0; z-index: 50; background: var(--paper); border-bottom: 1px solid var(--line); }
.site-header__in { display: flex; align-items: center; gap: 1rem; min-height: 64px; }
.brand { font: 700 1.7rem/1 var(--f-display); color: var(--ink); text-decoration: none; letter-spacing: .04em; margin-right: auto; }
.brand img { max-height: 40px; width: auto; }
.nav-toggle {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 .9rem;
	border: 1px solid var(--line); border-radius: var(--r-btn); background: #fff;
	font: 700 1.05rem var(--f-display); color: var(--ink); cursor: pointer;
}
.header-cta { min-height: 42px; padding: .5rem 1rem; font-size: 1.05rem; }
.site-nav { display: none; }
.site-nav.is-open {
	display: block; position: absolute; left: 0; right: 0; top: 100%;
	background: var(--paper); border-bottom: 1px solid var(--line);
	max-height: calc(100vh - 64px); overflow-y: auto; padding: .5rem var(--gutter) 1.5rem;
}
.site-nav ul { list-style: none; margin: 0; padding: 0; }
.site-nav a { display: block; padding: .65rem 0; color: var(--ink); text-decoration: none; font-weight: 700; }
.site-nav .sub-menu a { font-weight: 400; padding-left: 1rem; color: var(--steel); }
.site-nav .current-menu-item > a { color: var(--brand-d); }

@media (min-width: 1000px) {
	.nav-toggle { display: none; }
	.site-nav, .site-nav.is-open { display: block; position: static; padding: 0; border: 0; max-height: none; overflow: visible; }
	.site-nav > ul { display: flex; gap: .25rem; }
	.site-nav > ul > li { position: relative; }
	.site-nav > ul > li > a { padding: 1.3rem .6rem; font-size: .98rem; }
	.site-nav .sub-menu {
		display: none; position: absolute; left: 0; top: 100%; min-width: 260px;
		background: var(--paper); border: 1px solid var(--line); border-radius: 0 0 var(--r-card) var(--r-card);
		padding: .4rem 0; box-shadow: 0 12px 24px rgba(19, 35, 59, .08);
	}
	.site-nav li:hover > .sub-menu, .site-nav li:focus-within > .sub-menu { display: block; }
	.site-nav .sub-menu a { padding: .5rem 1rem; }
	.site-nav .sub-menu a:hover { background: var(--chalk); color: var(--ink); }
}
@media (max-width: 420px) { .header-cta { display: none; } }

/* Okruszki */
.crumbs { font-size: .9rem; color: var(--steel); padding-block: 1rem .25rem; }
.crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem .5rem; }
.crumbs li + li::before { content: "›"; margin-right: .5rem; color: var(--line); }
.crumbs a { color: var(--steel); }

/* Sekcje */
.section { padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.section--paper { background: var(--paper); border-block: 1px solid var(--line); }
.section__head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: .5rem 2rem; margin-bottom: 1.75rem; }
.section__head h2 { margin: 0; }
.section__head p { margin: 0; color: var(--steel); max-width: 52ch; }
.section__more { font-weight: 700; }

/* Hero z tablicą doboru planu */
.hero { padding-block: clamp(2rem, 5vw, 4rem); }
.hero__grid { display: grid; gap: 2rem; align-items: start; }
.hero__copy p { font-size: 1.15rem; color: var(--steel); max-width: 46ch; }
.hero__links { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
@media (min-width: 900px) { .hero__grid { grid-template-columns: 1fr 1.05fr; gap: 3.5rem; } .hero__copy { padding-top: 1.5rem; } }

.board {
	background: var(--ink); color: #fff; border-radius: var(--r-panel);
	padding: clamp(1.25rem, 3vw, 2rem);
	background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px);
	background-size: 100% 2.2rem;
}
.board h2 { font-size: 1.9rem; margin-bottom: 1.25rem; }
.board fieldset { border: 0; margin: 0 0 1.25rem; padding: 0; }
.board legend { display: flex; align-items: center; gap: .6rem; font: 700 1.25rem/1.2 var(--f-display); margin-bottom: .6rem; padding: 0; }
.board__num {
	display: inline-grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%;
	border: 2px solid rgba(255,255,255,.55); font-size: 1rem;
}
.chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.chip { position: relative; }
.chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.chip span {
	display: inline-flex; align-items: center; min-height: 44px; padding: .45rem .9rem;
	border: 1.5px solid rgba(255,255,255,.35); border-radius: 999px; font-size: .98rem;
}
.chip input:checked + span { background: #fff; color: var(--ink); border-color: #fff; font-weight: 700; }
.chip input:focus-visible + span { outline: 3px solid var(--yellow); outline-offset: 2px; }
.chip:hover span { border-color: #fff; }
.board__result { margin-top: .5rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.2); }
.board__result p { margin: 0 0 .25rem; color: rgba(255,255,255,.75); }
.board__result h3 { font-size: 1.7rem; margin: .1rem 0 .6rem; }
.board__result .lvl { color: #fff; }
.board__hint { color: rgba(255,255,255,.65); font-size: .95rem; margin: 0; }

/* Poziom = kolor talerza */
.lvl { display: inline-flex; align-items: center; gap: .45rem; font-size: .92rem; font-weight: 700; color: var(--ink); }
.lvl::before { content: ""; width: .85rem; height: .85rem; border-radius: 50%; background: var(--steel); box-shadow: inset 0 0 0 2px rgba(0,0,0,.12); }
.lvl--poczatkujacy::before { background: var(--green); }
.lvl--sredni::before { background: var(--yellow); }
.lvl--zaawansowany::before { background: var(--blue); }

/* Karty planów */
.plans { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }
.plan {
	display: flex; flex-direction: column; background: var(--paper);
	border: 1px solid var(--line); border-top: 4px solid var(--brand); border-radius: var(--r-card); overflow: hidden;
}
.plan__media img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.plan__body { display: flex; flex-direction: column; gap: .6rem; padding: 1.15rem 1.25rem 1.35rem; flex: 1; }
.plan__body h3 { margin: 0; font-size: 1.55rem; }
.plan__body h3 a { color: var(--ink); text-decoration: none; }
.plan__lead { color: var(--steel); margin: 0; }
.facts { display: flex; flex-wrap: wrap; gap: .35rem 1.1rem; list-style: none; margin: 0; padding: 0; font-size: .95rem; }
.facts strong { font-family: var(--f-display); font-size: 1.15rem; }
.plan__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: .6rem; }
.price { font: 700 1.6rem/1 var(--f-display); }

/* Karty treści */
.grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.card { display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden; }
.card[hidden] { display: none; }
.card__media { display: block; background: var(--line); aspect-ratio: 16 / 9; }
.card__media img { width: 100%; height: 100%; object-fit: cover; }
.card__body { padding: 1rem 1.1rem 1.2rem; display: flex; flex-direction: column; gap: .4rem; flex: 1; }
.card__term { font-size: .88rem; font-weight: 700; color: var(--steel); text-decoration: none; }
.card__title { font-size: 1.35rem; margin: 0; }
.card__title a { color: var(--ink); text-decoration: none; }
.card__title a:hover { color: var(--brand-d); text-decoration: underline; }
.card__meta { margin: auto 0 0; font-size: .9rem; color: var(--steel); }

/* Biblioteka – stojak ze sprzętem */
.rack { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); list-style: none; margin: 0 0 1.75rem; padding: 0; }
.rack a {
	display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; min-height: 64px;
	padding: .9rem 1.1rem; background: var(--chalk); border: 1px solid var(--line); border-radius: var(--r-card);
	color: var(--ink); text-decoration: none; font-weight: 700;
}
.rack a:hover { border-color: var(--ink); }
.rack b { font: 700 1.6rem/1 var(--f-display); color: var(--steel); }
.lib-search { display: flex; gap: .5rem; max-width: 560px; }
.lib-search input {
	flex: 1; min-height: 48px; padding: .6rem .9rem; border: 1.5px solid var(--line); border-radius: var(--r-btn);
	font: inherit; background: #fff; color: var(--ink);
}

/* Narzędzia */
.tools { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem 2rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.tools a { display: block; padding: .75rem 0; border-bottom: 1px solid var(--line); color: var(--ink); font-weight: 700; text-decoration: none; }
.tools a:hover { color: var(--brand-d); }

/* Pojedynczy wpis */
.entry { padding-bottom: 3rem; }
.entry__head { max-width: 860px; padding-top: .75rem; }
.entry__meta { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; color: var(--steel); font-size: .95rem; margin-bottom: 1.25rem; }
.entry__meta a { color: var(--steel); }
.entry__hero { max-width: 1040px; margin: 0 auto 2rem; }
.entry__hero img { border-radius: var(--r-card); width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.entry__layout { display: grid; gap: 2.5rem; }
@media (min-width: 1040px) { .entry__layout { grid-template-columns: minmax(0, 1fr) 320px; } .entry__aside { position: sticky; top: 5.5rem; align-self: start; } }

.prose { max-width: 70ch; font-size: 1.09rem; }
.prose > * + * { margin-top: 1.1em; }
.prose h2 { margin-top: 2em; }
.prose h3 { margin-top: 1.6em; font-size: 1.55rem; }
.prose ul, .prose ol { padding-left: 1.3em; }
.prose li + li { margin-top: .35em; }
.prose img { border-radius: var(--r-card); }
.prose blockquote { margin-inline: 0; padding: .25rem 0 .25rem 1.25rem; border-left: 4px solid var(--brand); color: var(--steel); }
.prose table { width: 100%; border-collapse: collapse; font-size: .97rem; display: block; overflow-x: auto; }
.prose th, .prose td { text-align: left; padding: .6rem .75rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.prose th { background: var(--paper); font-weight: 700; }
.prose .wp-block-embed, .prose figure { margin-inline: 0; }

/* YouTube facade */
.yt { position: relative; aspect-ratio: 16 / 9; background: #000; border-radius: var(--r-card); overflow: hidden; cursor: pointer; }
.yt img { width: 100%; height: 100%; object-fit: cover; opacity: .9; }
.yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.yt__play {
	position: absolute; left: 50%; top: 50%; translate: -50% -50%;
	width: 72px; height: 50px; border: 0; border-radius: 12px; background: var(--brand); cursor: pointer;
}
.yt__play::before { content: ""; position: absolute; left: 29px; top: 15px; border-style: solid; border-width: 10px 0 10px 17px; border-color: transparent transparent transparent #fff; }
.yt:hover .yt__play { background: var(--brand-d); }

/* Karta parametrów ćwiczenia */
.spec { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-card); padding: 1.1rem 1.25rem; margin-bottom: 2rem; max-width: 70ch; }
.spec dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .9rem 1.5rem; margin: 0; }
.spec dt { font-size: .85rem; color: var(--steel); }
.spec dd { margin: .1rem 0 0; font-weight: 700; }

/* Boks planu w treści i w kolumnie */
.plan-box { background: var(--ink); color: #fff; border-radius: var(--r-card); padding: 1.35rem; }
.plan-box p { color: rgba(255,255,255,.8); margin-bottom: .75rem; }
.plan-box h3 { font-size: 1.6rem; margin-bottom: .5rem; }
.plan-box .lvl { color: #fff; }
.plan-box ul { margin: 0 0 1rem; padding-left: 1.1rem; }
.plan-box li { color: rgba(255,255,255,.85); }
.inline-plan { margin: 2.5rem 0; max-width: 70ch; }

.in-plans { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.in-plans a { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-card); color: var(--ink); text-decoration: none; font-weight: 700; }
.in-plans a:hover { border-color: var(--ink); }

/* Autor */
.author-box { display: grid; grid-template-columns: 64px 1fr; gap: 1rem; align-items: start; max-width: 70ch; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.author-box img { border-radius: 50%; }
.author-box p { margin: .25rem 0 0; color: var(--steel); font-size: .98rem; }
.author-box strong { font-family: var(--f-display); font-size: 1.3rem; }

.post-nav { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; max-width: 70ch; margin-top: 2rem; }
.post-nav a { display: block; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--paper); text-decoration: none; color: var(--ink); font-weight: 700; }
.post-nav span { display: block; font-weight: 400; color: var(--steel); font-size: .88rem; }
.post-nav .next { text-align: right; }

/* Landing planu */
.plan-hero { background: var(--paper); border-bottom: 1px solid var(--line); padding-bottom: 2.5rem; }
.plan-hero__grid { display: grid; gap: 2rem; align-items: start; }
@media (min-width: 960px) { .plan-hero__grid { grid-template-columns: minmax(0, 1fr) 380px; gap: 3rem; } }
.plan-hero__lead { font-size: 1.2rem; color: var(--steel); max-width: 56ch; }
.buy-box { border: 1px solid var(--line); border-top: 4px solid var(--brand); border-radius: var(--r-card); padding: 1.35rem; background: var(--chalk); }
.buy-box .facts { flex-direction: column; gap: .5rem; margin: 1rem 0 1.25rem; }
.buy-box .price { font-size: 2.3rem; display: block; margin-bottom: 1rem; }
.buy-box small { display: block; margin-top: .75rem; color: var(--steel); font-size: .88rem; }

/* Pasek CTA na dole ekranu */
.sticky-cta {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
	background: var(--ink); color: #fff; padding: .7rem var(--gutter) calc(.7rem + env(safe-area-inset-bottom));
	display: flex; align-items: center; gap: .75rem;
	transform: translateY(110%); transition: transform .25s ease;
}
.sticky-cta.is-on { transform: none; }
.sticky-cta__text { flex: 1; min-width: 0; font-size: .95rem; line-height: 1.3; }
.sticky-cta__text strong { display: block; font: 700 1.15rem/1.15 var(--f-display); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sticky-cta .btn { min-height: 44px; padding: .5rem 1rem; flex: none; }
.sticky-cta__close { background: none; border: 0; color: rgba(255,255,255,.7); font-size: 1.5rem; line-height: 1; padding: .25rem .4rem; cursor: pointer; }
@media (min-width: 1040px) { .sticky-cta { left: auto; right: 1.5rem; bottom: 1.5rem; max-width: 460px; border-radius: var(--r-card); padding-bottom: .7rem; } }

/* Archiwum i filtry */
.archive-head { padding-bottom: 1.5rem; }
.archive-head__intro { max-width: 70ch; color: var(--steel); font-size: 1.08rem; }
.archive-head__intro p:last-child { margin-bottom: 0; }
.subcats { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 1.25rem 0 0; padding: 0; }
.subcats a { display: inline-flex; min-height: 40px; align-items: center; padding: .35rem .9rem; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); color: var(--ink); text-decoration: none; font-size: .95rem; }
.subcats a:hover, .subcats .is-current a { border-color: var(--ink); background: var(--ink); color: #fff; }
.filters { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; align-items: end; margin-bottom: 1.5rem; }
.filters label { display: grid; gap: .25rem; font-size: .88rem; color: var(--steel); }
.filters select { min-height: 44px; min-width: 190px; padding: .4rem .6rem; border: 1.5px solid var(--line); border-radius: var(--r-btn); background: #fff; font: inherit; color: var(--ink); }
.filters__empty { color: var(--steel); }

.pagination { margin-top: 2.5rem; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: .4rem; }
.pagination .page-numbers { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 .75rem; border: 1px solid var(--line); border-radius: var(--r-btn); background: var(--paper); color: var(--ink); text-decoration: none; font-weight: 700; }
.pagination .current { background: var(--ink); color: #fff; border-color: var(--ink); }

/* Strona z page builderem – pełna szerokość */
.page-builder { padding-block: 0 3rem; }

/* Stopka */
.site-footer { background: var(--ink); color: rgba(255,255,255,.82); padding-block: 3rem 2rem; margin-top: 3rem; font-size: .97rem; }
.site-footer a { color: #fff; text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.site-footer__grid { display: grid; gap: 2rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.site-footer h2 { font-size: 1.3rem; color: #fff; }
.site-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.site-footer__note { white-space: pre-line; }
.site-footer__bottom { margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.15); font-size: .88rem; }

.notfound { padding-block: 4rem; max-width: 720px; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

.builder-content { max-width: 100%; }
.builder-content .elementor-section.elementor-section-boxed > .elementor-container { max-width: 100%; }

.prose > :first-child { margin-top: 0; }
.plan-hero__grid { margin-top: 1rem; }
.in-plans a { flex-wrap: wrap; align-items: center; }

/* Na telefonie listy są gęstsze: miniatura obok tytułu */
@media (max-width: 640px) {
	.grid { gap: .75rem; }
	.grid .card { flex-direction: row; }
	.grid .card__media { width: 112px; flex: none; aspect-ratio: 1; }
	.grid .card__body { padding: .8rem .9rem; }
	.grid .card__title { font-size: 1.2rem; }
}

@media (max-width: 899px) { .hero__links { display: none; } .hero__copy p { margin-bottom: 0; } }


/* ===== 1.1: plany z Fitr, treści obok planów, filmy ===== */
.plan__tags { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .75rem; }
.tag { display: inline-block; padding: .15rem .55rem; border-radius: 999px; background: var(--brand); color: var(--on-brand); font-size: .8rem; font-weight: 700; }
.tag--light { background: #fff; color: var(--ink); }
.plan__title { margin: 0; font-size: 1.55rem; }
.plan__title a { color: var(--ink); text-decoration: none; }
.plan__title a:hover { color: var(--brand-d); }
.plan__foot { flex-wrap: wrap; }
.plan__more { font-weight: 700; font-size: .95rem; }
.plan-box__intro { font-size: .95rem; }
.plan-box__more { display: block; margin-top: .75rem; color: #fff; font-weight: 700; text-align: center; }
.buy-box__name { font: 700 1.3rem/1.15 var(--f-display); margin-bottom: .4rem; }

/* Treść + plan obok */
.with-plan { display: grid; gap: 2rem; }
.with-plan__side { display: grid; gap: 1.25rem; align-content: start; }
@media (min-width: 1040px) {
	.with-plan { grid-template-columns: minmax(0, 1fr) 320px; gap: 2.5rem; }
	.with-plan__side { position: sticky; top: 5.5rem; }
}
.home-cat + .home-cat { border-top: 1px solid var(--line); }
.home-cat .section__head h2 { position: relative; padding-left: 1rem; }
.home-cat .section__head h2::before { content: ""; position: absolute; left: 0; top: .1em; bottom: .1em; width: 5px; border-radius: 3px; background: var(--brand); }

/* Lista planów w kolumnie */
.plan-list { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-card); padding: 1rem 1.1rem; }
.plan-list__title { font-size: 1.35rem; margin-bottom: .5rem; }
.plan-list ul { list-style: none; margin: 0; padding: 0; }
.plan-list li + li { border-top: 1px solid var(--line); }
.plan-list a { display: grid; gap: .15rem; padding: .7rem 0; text-decoration: none; color: var(--ink); }
.plan-list a:hover .plan-list__name { color: var(--brand-d); text-decoration: underline; }
.plan-list__name { font-weight: 700; }
.plan-list .lvl { font-weight: 400; font-size: .85rem; color: var(--steel); }
.plan-list .is-current .plan-list__name::after { content: " – polecany"; color: var(--brand-d); font-weight: 400; font-size: .85rem; }

/* Wyróżniony wpis + lista */
.feature { display: grid; gap: 1.25rem; }
@media (min-width: 760px) { .feature { grid-template-columns: 1.15fr 1fr; align-items: start; } }
.card--big .card__title { font-size: clamp(1.5rem, 2.6vw, 2rem); }
.rows { list-style: none; margin: 0; padding: 0; display: grid; gap: .25rem; }
.rows--2 { gap: .75rem 1.5rem; }
@media (min-width: 760px) { .rows--2 { grid-template-columns: 1fr 1fr; } }
.row { display: grid; grid-template-columns: 88px 1fr; gap: .85rem; align-items: center; padding: .5rem 0; }
.rows:not(.rows--2) .row + .row { border-top: 1px solid var(--line); }
.row__media { display: block; aspect-ratio: 1; border-radius: 8px; overflow: hidden; background: var(--line); }
.row__media img { width: 100%; height: 100%; object-fit: cover; }
.row__title { display: block; font: 700 1.15rem/1.2 var(--f-display); color: var(--ink); text-decoration: none; }
.row__title:hover { color: var(--brand-d); text-decoration: underline; }
.row__date { font-size: .85rem; color: var(--steel); }
.grid--3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }

/* Sekcja filmów */
.section--ink { background: var(--ink); color: #fff; }
.section--ink h2, .section--ink .section__more { color: #fff; }
.videos { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); margin-bottom: 2rem; }
.video-card { display: grid; gap: .6rem; }
.video-card__body { display: grid; gap: .2rem; }
.section--ink .card__term { color: rgba(255,255,255,.7); }
.section--ink .card__title a { color: #fff; }
.section--ink .card__title a:hover { color: #fff; }
.section--ink .lvl { color: #fff; }
.section--ink .rack a { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.18); color: #fff; }
.section--ink .rack a:hover { border-color: #fff; }
.section--ink .rack b { color: rgba(255,255,255,.65); }
.section--ink .lib-search input { border-color: transparent; }

/* Sklep */
.products { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(46%, 170px), 1fr)); }
.product { display: grid; gap: .35rem; text-decoration: none; color: var(--ink); }
.product img { aspect-ratio: 1; object-fit: cover; width: 100%; border-radius: var(--r-card); background: var(--chalk); }
.product__name { font-weight: 700; line-height: 1.3; }
.product__price { color: var(--steel); }
.product:hover .product__name { color: var(--brand-d); text-decoration: underline; }
.board__lead { margin-top: .25rem; }
.board__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.25rem; margin-top: .9rem; }
.board__more { color: #fff; font-weight: 700; }

/* Na telefonie plany na stronie głównej przewija się w poziomie */
@media (max-width: 640px) {
	.plans--scroll {
		display: flex; gap: .85rem; overflow-x: auto; scroll-snap-type: x mandatory;
		margin-inline: calc(var(--gutter) * -1); padding: 0 var(--gutter) .75rem; scrollbar-width: thin;
	}
	.plans--scroll .plan { flex: 0 0 84%; scroll-snap-align: start; }
}

.entry__aside { display: grid; gap: 1.5rem; align-content: start; }
.entry__aside h2 { margin-bottom: .5rem; }

/* Formularz komentarzy */
#comments input[type="text"], #comments input[type="email"], #comments input[type="url"], #comments textarea {
	width: 100%; padding: .65rem .8rem; border: 1.5px solid var(--line); border-radius: var(--r-btn); font: inherit; background: #fff; color: var(--ink);
}
#comments label { display: block; font-weight: 700; margin-bottom: .25rem; }
#comments .comment-form-cookies-consent label { display: inline; font-weight: 400; }
#comments .submit { min-height: 48px; padding: .7rem 1.3rem; border: 0; border-radius: var(--r-btn); background: var(--brand); color: var(--on-brand); font: 700 1.15rem/1 var(--f-display); cursor: pointer; }

/* ===== 1.2: skórka FITMADE – złoto + granat, jak na obecnej stronie ===== */
h1, h2, h3, h4 { font-weight: 600; letter-spacing: -.02em; line-height: 1.1; }
h1 { font-size: clamp(2.1rem, 5vw, 3.6rem); font-weight: 700; }
h2 { font-size: clamp(1.7rem, 3.2vw, 2.4rem); }
h3 { font-size: 1.3rem; }
body { font-size: 1.0625rem; }
a { color: var(--ink); text-decoration-color: var(--brand); text-decoration-thickness: 2px; }
a:hover { color: var(--brand-d); }
:focus-visible { outline-color: var(--brand-d); }

.btn { font: 600 1rem/1 var(--f-body); letter-spacing: 0; padding: .8rem 1.4rem; }
.btn--ghost { border-color: var(--ink); color: var(--ink); }
.btn--light { background: #fff; color: var(--ink); }

/* Nagłówek: hamburger | logo | lupa (telefon), logo | menu | lupa | CTA (desktop) */
.site-header { border-bottom: 0; box-shadow: 0 1px 0 var(--line); }
.site-header__in { min-height: 64px; gap: .5rem; }
.nav-toggle { order: 0; border: 0; background: none; width: 44px; height: 44px; padding: 0; justify-content: center; }
.burger, .burger::before, .burger::after { display: block; width: 26px; height: 3.5px; border-radius: 2px; background: var(--ink); position: relative; transition: transform .2s; }
.burger::before, .burger::after { content: ""; position: absolute; left: 0; }
.burger::before { top: -8px; }
.burger::after { top: 8px; }
.nav-toggle[aria-expanded="true"] .burger { background: transparent; }
.nav-toggle[aria-expanded="true"] .burger::before { transform: translateY(8px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .burger::after { transform: translateY(-8px) rotate(-45deg); }
.brand { order: 1; margin: 0 auto; font: italic 800 1.55rem/1 var(--f-display); letter-spacing: .06em; color: var(--ink); }
.brand span { color: var(--brand); }
.brand img { max-height: 30px; }
.search-link { order: 3; display: inline-grid; place-items: center; width: 44px; height: 44px; color: var(--ink); }
.search-link:hover { color: var(--brand-d); }
.header-cta { order: 4; display: none; }
.site-nav { order: 2; }
.site-nav a { font-weight: 600; }
.site-nav .current-menu-item > a { color: var(--brand-d); }
@media (min-width: 1000px) {
	.nav-toggle { display: none; }
	.brand { margin: 0 1.5rem 0 0; }
	.site-nav > ul > li > a { font-size: .95rem; padding: 1.3rem .55rem; }
	.site-nav { margin-right: auto; }
	.header-cta { display: inline-flex; }
}
.top-banner { padding-top: 1.25rem; }
.top-banner img { width: 100%; border-radius: 6px; }

/* Hero – granat ze złotymi skosami z logo */
.hero { position: relative; overflow: hidden; background: var(--navy); color: #fff; }
.hero::before, .hero::after {
	content: ""; position: absolute; pointer-events: none; background: var(--brand);
	transform: skewX(-32deg); border-radius: 0 0 18px 0;
}
.hero::before { width: 70px; height: 150px; left: -40px; top: -20px; border-radius: 0 0 28px 0; }
.hero::after { width: 90px; height: 240px; right: -30px; bottom: -40px; border-radius: 28px 0 0 0; }
@media (min-width: 900px) { .hero::before { width: 110px; height: 230px; left: -30px; } .hero::after { width: 130px; height: 360px; right: 2%; } }
.hero__grid { position: relative; z-index: 1; }
.hero h1 { color: #fff; }
.hero__copy p { color: rgba(255,255,255,.78); }
.hero .btn--ghost { border-color: rgba(255,255,255,.55); color: #fff; }
.hero .btn--ghost:hover { background: #fff; color: var(--ink); }

/* Tablica doboru planu – biała karta na granacie */
.board { background: var(--paper); color: var(--ink); background-image: none; box-shadow: 0 18px 40px rgba(0,0,0,.25); }
.board__num { border-color: var(--brand); background: var(--brand); color: var(--on-brand); }
.chip span { border-color: var(--line); background: var(--chalk); }
.chip:hover span { border-color: var(--ink); }
.chip input:checked + span { background: var(--brand); border-color: var(--brand); color: var(--on-brand); }
.chip input:focus-visible + span { outline-color: var(--brand-d); }
.board__result { border-top-color: var(--line); }
.board__result p, .board__hint { color: var(--steel); }
.board__more { color: var(--ink); }

/* Plany */
.plan { border-top: 0; border-radius: 14px; position: relative; }
.plan::before { content: ""; position: absolute; left: 0; top: 0; width: 64px; height: 5px; background: var(--brand); border-radius: 0 0 6px 0; z-index: 1; }
.plan__title { font-size: 1.35rem; }
.price { font: 700 1.5rem/1 var(--f-body); }
.tag { background: var(--navy); color: #fff; }
.plan__more { color: var(--ink); }
.buy-box { border-top: 0; border-radius: 14px; background: var(--paper); box-shadow: inset 0 5px 0 var(--brand); }
.buy-box__name { font: 600 1.2rem/1.2 var(--f-body); }

/* Ciemne elementy: granat */
.section--ink, .plan-box, .sticky-cta, .site-footer { background: var(--navy); }
.plan-box { border-radius: 14px; position: relative; overflow: hidden; }
.plan-box::after { content: ""; position: absolute; right: -30px; top: -20px; width: 50px; height: 130px; background: var(--brand); transform: skewX(-32deg); border-radius: 0 0 0 16px; opacity: .9; }
.plan-box > * { position: relative; z-index: 1; }
.plan-box .tag--light { background: var(--brand); color: var(--on-brand); }
.plan-box__more { color: #fff; text-decoration-color: var(--brand); }
.site-footer h2 { color: var(--brand); font-size: 1.1rem; }
.site-footer a:hover { color: var(--brand); }

/* Treści */
.section__head p { color: var(--steel); }
.section__more { color: var(--ink); font-weight: 600; }
.home-cat .section__head h2::before { width: 6px; border-radius: 0; transform: skewX(-18deg); }
.card { border-radius: 14px; }
.card__term { color: var(--brand-d); text-transform: none; }
.card__title { font-size: 1.15rem; font-weight: 600; }
.card--big .card__title { font-size: clamp(1.35rem, 2.4vw, 1.8rem); }
.row__title { font: 600 1.02rem/1.3 var(--f-body); }
.rack a, .tools a { font-weight: 600; }
.rack b { font: 700 1.4rem/1 var(--f-body); color: var(--brand-d); }
.section--ink .rack b { color: var(--brand); }
.section--ink .card__term { color: var(--brand); }
.spec { border-radius: 14px; }
.plan-list { border-radius: 14px; box-shadow: inset 0 4px 0 var(--brand); }
.plan-list__title { font-size: 1.15rem; }
.plan-list .is-current .plan-list__name::after { color: var(--brand-d); }
.prose blockquote { border-left-color: var(--brand); }
.prose a { color: var(--ink); text-decoration-color: var(--brand); }
.crumbs li + li::before { color: var(--brand); }
.subcats .is-current a, .subcats a:hover { background: var(--navy); border-color: var(--navy); }
.pagination .current { background: var(--navy); border-color: var(--navy); }
.yt__play { background: var(--brand); }
.yt__play::before { border-color: transparent transparent transparent var(--on-brand); }
.yt:hover .yt__play { background: var(--brand-h); }
.archive-head h1, .entry__head h1 { font-weight: 700; }
.lvl { font-weight: 600; }
.lvl--sredni::before { background: #e07b39; }
@media (max-width: 899px) { .hero::before { width: 46px; height: 110px; left: -38px; top: -10px; } }

/* ===== 1.3: nowocześniej, czytelniej, więcej grafiki ===== */
:root { --r-card: 18px; --shadow: 0 1px 2px rgba(17,24,37,.06), 0 8px 24px rgba(17,24,37,.06); --shadow-h: 0 2px 4px rgba(17,24,37,.08), 0 16px 36px rgba(17,24,37,.12); }
body { font-size: 1.0625rem; line-height: 1.65; -webkit-font-smoothing: antialiased; }
.section { padding-block: clamp(3rem, 7vw, 5.5rem); }
.section__head { margin-bottom: 2rem; }

/* Ikony */
.icon { width: 1.15em; height: 1.15em; flex: none; vertical-align: -.2em; }
.btn .icon { width: 1.1em; height: 1.1em; }
.h-icon { display: inline-grid; place-items: center; width: 2.2rem; height: 2.2rem; margin-right: .65rem; border-radius: 12px; background: var(--brand); color: var(--on-brand); vertical-align: middle; }
.h-icon .icon { width: 1.3rem; height: 1.3rem; }
.home-cat .section__head h2 { padding-left: 0; display: flex; align-items: center; }
.home-cat .section__head h2::before { display: none; }
.section__more { display: inline-flex; align-items: center; gap: .35rem; text-decoration: none; }
.section__more:hover { color: var(--brand-d); }
.section__more .icon { transition: transform .2s; }
.section__more:hover .icon { transform: translateX(3px); }

/* Nagłówek – szkło */
.site-header { background: rgba(255,255,255,.88); backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px); }

/* Grafika zastępcza: granat + złote skosy + ikona */
.art { position: relative; display: grid; place-items: center; width: 100%; height: 100%; min-height: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: radial-gradient(120% 90% at 20% 10%, #22304a 0%, var(--navy) 60%); color: var(--brand); }
.art__slash { position: absolute; width: 22%; height: 160%; right: 8%; top: -30%; background: var(--brand); transform: skewX(-32deg); opacity: .95; border-radius: 0 0 0 18px; }
.art__slash--2 { width: 9%; right: auto; left: 6%; top: auto; bottom: -70%; opacity: .55; border-radius: 18px 0 0 0; }
.art__icon { position: relative; width: 34%; height: auto; max-width: 92px; color: #fff; stroke-width: 1.5; filter: drop-shadow(0 6px 14px rgba(0,0,0,.3)); }
.art--sm { aspect-ratio: 1; }
.art--sm .art__icon { width: 46%; stroke-width: 1.8; }
.art--sm .art__slash--2 { display: none; }
.card__media .art, .row__media .art { aspect-ratio: auto; }

/* Hero */
.hero { background: radial-gradient(90% 120% at 85% 0%, #22314d 0%, var(--navy) 55%); padding-block: clamp(2.5rem, 6vw, 5rem); }
.hero h1 { font-size: clamp(2.2rem, 5.2vw, 3.9rem); line-height: 1.04; }
.hero__copy p { font-size: 1.15rem; max-width: 44ch; }
.trust { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: .6rem; }
.trust li { display: flex; align-items: center; gap: .6rem; color: rgba(255,255,255,.9); font-weight: 700; }
.trust .icon { color: var(--brand); width: 1.35rem; height: 1.35rem; }
@media (max-width: 899px) { .hero__links { display: flex; } .trust { display: none; } }
.board { border-radius: 22px; }
.chip span { gap: .45rem; }
.chip span .icon { color: var(--brand-d); }
.chip input:checked + span .icon { color: var(--on-brand); }

/* Liczniki i tematy */
.stats-bar { background: var(--paper); border-bottom: 1px solid var(--line); padding-block: 1.5rem; }
.stats { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.stats li { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: .75rem; align-items: center; }
.stats .icon { grid-row: span 2; width: 2.6rem; height: 2.6rem; padding: .55rem; border-radius: 14px; background: color-mix(in srgb, var(--brand) 22%, #fff); color: var(--brand-d); }
.stats strong { font-size: 1.6rem; font-weight: 700; line-height: 1; }
.stats span { color: var(--steel); font-size: .92rem; line-height: 1.3; }
.topics { display: flex; gap: .5rem; overflow-x: auto; padding: 1.25rem 0 .25rem; scrollbar-width: none; }
.topics::-webkit-scrollbar { display: none; }
.topics a { display: inline-flex; align-items: center; gap: .45rem; flex: none; padding: .55rem 1rem; border-radius: 999px; background: var(--chalk); border: 1px solid var(--line); color: var(--ink); font-weight: 700; font-size: .95rem; text-decoration: none; }
.topics a:hover { background: var(--navy); color: #fff; border-color: var(--navy); }
.topics .icon { color: var(--brand-d); }
.topics a:hover .icon { color: var(--brand); }

/* Karty – cień i uniesienie przy najechaniu */
.card, .plan, .plan-list, .spec, .buy-box { border-color: transparent; box-shadow: var(--shadow); }
.card, .plan { transition: transform .2s ease, box-shadow .2s ease; }
.card:hover, .plan:hover { transform: translateY(-3px); box-shadow: var(--shadow-h); }
.card__media { overflow: hidden; background: var(--navy); }
.card__media img { transition: transform .35s ease; }
.card:hover .card__media img { transform: scale(1.04); }
.card__term { display: inline-flex; align-items: center; gap: .35rem; }
.card__term .icon { width: 1rem; height: 1rem; }
.plan__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--navy); }
.plan__media img { width: 100%; height: 100%; object-fit: cover; }
.plan::before { z-index: 2; }
.btn--cta .icon { transition: transform .2s; }
.btn--cta:hover .icon { transform: translateX(3px); }
.row__media { border-radius: 12px; }

/* Jak zacząć */
.steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); counter-reset: step; }
.steps li { position: relative; padding: 1.6rem 1.5rem 1.5rem; background: var(--paper); border-radius: var(--r-card); box-shadow: var(--shadow); counter-increment: step; }
.steps li::after { content: counter(step); position: absolute; right: 1.25rem; top: 1rem; font-size: 2.6rem; font-weight: 700; color: color-mix(in srgb, var(--brand) 40%, #fff); line-height: 1; }
.steps__icon { display: inline-grid; place-items: center; width: 3.2rem; height: 3.2rem; border-radius: 16px; background: var(--navy); color: var(--brand); margin-bottom: 1rem; }
.steps__icon .icon { width: 1.6rem; height: 1.6rem; }
.steps h3 { font-size: 1.25rem; margin-bottom: .35rem; }
.steps p { margin: 0; color: var(--steel); }

/* Biblioteka – stojak z ikonami */
.rack__name { display: inline-flex; align-items: center; gap: .55rem; }
.rack__name .icon { color: var(--brand); width: 1.4rem; height: 1.4rem; }
.rack a { border-radius: 14px; }
.video-card .yt { border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,.35); }
.tools a { display: flex; align-items: center; gap: .6rem; }
.tools .icon { color: var(--brand-d); }

/* Zespół */
.team { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.team li { display: grid; grid-template-columns: 72px 1fr; gap: 1rem; align-items: start; padding: 1.25rem; border-radius: var(--r-card); background: var(--chalk); }
.team img { border-radius: 50%; box-shadow: 0 0 0 3px var(--brand); }
.team__name { font-weight: 700; font-size: 1.1rem; text-decoration: none; }
.team p { margin: .3rem 0 0; color: var(--steel); font-size: .95rem; line-height: 1.5; }

/* FAQ */
.faq-wrap { display: grid; gap: 2rem; }
@media (min-width: 900px) { .faq-wrap { grid-template-columns: 1fr 1.6fr; gap: 4rem; } }
.faq-intro { color: var(--steel); }
.faq details { background: var(--paper); border-radius: 16px; box-shadow: var(--shadow); margin-bottom: .75rem; }
.faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.25rem; font-weight: 600; font-size: 1.05rem; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--brand); color: var(--on-brand); font-weight: 700; transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { margin: 0; padding: 0 1.25rem 1.2rem; color: var(--steel); }

/* Artykuł: czytelność, spis treści, W skrócie, postęp */
.prose { font-size: 1.125rem; line-height: 1.75; max-width: 68ch; }
.prose h2 { font-size: clamp(1.5rem, 2.6vw, 1.95rem); margin-top: 2.2em; scroll-margin-top: 5.5rem; }
.prose h3 { font-size: 1.3rem; scroll-margin-top: 5.5rem; }
.prose p, .prose li { color: #2a3243; }
.prose strong { color: var(--ink); }
.prose table { border-radius: 14px; box-shadow: var(--shadow); }
.prose th { background: var(--navy); color: #fff; }
.prose tr:nth-child(even) td { background: #fafbfc; }
.entry__meta { align-items: center; }
.entry__meta span { display: inline-flex; align-items: center; gap: .35rem; }
.entry__meta .icon { color: var(--brand-d); }
.meta-reviewed { padding: .2rem .65rem; border-radius: 999px; background: color-mix(in srgb, var(--brand) 18%, #fff); color: var(--ink); }
.summary { max-width: 68ch; margin-bottom: 2rem; padding: 1.25rem 1.4rem; border-radius: var(--r-card); background: var(--paper); box-shadow: var(--shadow), inset 4px 0 0 var(--brand); }
.summary__label { display: flex; align-items: center; gap: .45rem; margin-bottom: .4rem; font-weight: 700; font-size: .95rem; color: var(--brand-d); }
.summary p:last-child { margin: 0; font-size: 1.08rem; line-height: 1.65; color: var(--ink); }
.toc { margin: 2rem 0; padding: 1.25rem 1.4rem; border-radius: var(--r-card); background: var(--chalk); border: 1px solid var(--line); }
.toc__title { display: flex; align-items: center; gap: .5rem; font-weight: 700; margin: 0 0 .6rem; }
.toc__title .icon { color: var(--brand-d); }
.toc ol { margin: 0; padding-left: 1.2rem; }
.toc li { margin: .3rem 0; }
.toc a { text-decoration: none; color: var(--ink); font-weight: 700; }
.toc a:hover { color: var(--brand-d); text-decoration: underline; }
.toc .toc__l3 { list-style: none; margin-left: .25rem; font-size: .95rem; }
.toc .toc__l3 a { font-weight: 400; }
.progress { position: fixed; left: 0; right: 0; top: 0; height: 3px; z-index: 60; pointer-events: none; }
.progress span { display: block; height: 100%; background: var(--brand); transform-origin: 0 50%; transform: scaleX(0); }
.spec dt { display: flex; align-items: center; gap: .35rem; }
.spec .icon { color: var(--brand-d); }

@media (prefers-reduced-motion: reduce) {
	.card:hover, .plan:hover { transform: none; }
	.card:hover .card__media img { transform: none; }
}

/* Poprawki 1.3 */
.toc ol { list-style: decimal; }
.toc ul { list-style: none; margin: .2rem 0 .4rem; padding-left: .9rem; border-left: 2px solid var(--line); }
.toc ul a { font-weight: 400; font-size: .95rem; }
.table-wrap { overflow-x: auto; border-radius: 14px; box-shadow: var(--shadow); max-width: 68ch; }
.prose .table-wrap table { display: table; width: 100%; box-shadow: none; border-radius: 0; margin: 0; }
#comments input[type="text"], #comments input[type="email"], #comments input[type="url"], #comments textarea { border-radius: 12px; }
#comments textarea { min-height: 140px; max-height: 320px; }
.plan-box::after { top: auto; bottom: -24px; right: -18px; width: 34px; height: 90px; border-radius: 14px 0 0 0; }
@media (min-width: 900px) {
	.hero__grid { grid-template-columns: 1.1fr 1fr; }
	.hero h1 { font-size: clamp(2.4rem, 4.2vw, 3.5rem); }
}

/* ===== 1.4: układ wpisów z ćwiczeniami i bloki treści z Claude Studio ===== */
.ex-hero { display: grid; gap: 1.25rem; margin: .5rem 0 2rem; }
@media (min-width: 900px) { .ex-hero { grid-template-columns: minmax(0, 1.55fr) minmax(280px, 1fr); align-items: start; } .ex-hero--novideo { grid-template-columns: minmax(0, 720px); } }
.ex-hero__video .yt, .ex-hero__video img { border-radius: var(--r-card); box-shadow: var(--shadow-h); width: 100%; }
.ex-hero__side { display: grid; gap: 1rem; }
.ex-hero__side .spec { margin: 0; }
.ex-hero__side .spec dl { grid-template-columns: 1fr 1fr; }
.ex-hero__plan { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .1rem 1rem; padding: 1rem 1.2rem; border-radius: var(--r-card); background: var(--navy); color: #fff; text-decoration: none; box-shadow: var(--shadow); }
.ex-hero__plan span { grid-column: 1; color: rgba(255,255,255,.7); font-size: .9rem; }
.ex-hero__plan strong { grid-column: 1; font-size: 1.15rem; }
.ex-hero__plan .icon { grid-column: 2; grid-row: 1 / span 2; width: 2.4rem; height: 2.4rem; padding: .55rem; border-radius: 50%; background: var(--brand); color: var(--on-brand); }
.ex-hero__plan:hover { color: #fff; }
.ex-hero__plan:hover .icon { background: var(--brand-h); }
.card__media { position: relative; }
.card__play { position: absolute; inset: auto auto .6rem .6rem; display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--brand); color: var(--on-brand); }
.card__play .icon { width: 1.1rem; height: 1.1rem; }

/* Spis treści jako chipy w ćwiczeniach */
.toc--chips { padding: .9rem 1rem; }
.toc--chips ol { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.toc--chips li { margin: 0; }
.toc--chips ul { display: none; }
.toc--chips a { display: inline-block; padding: .35rem .8rem; border-radius: 999px; background: var(--paper); border: 1px solid var(--line); font-size: .92rem; }
.toc--chips a:hover { border-color: var(--ink); text-decoration: none; }

/* Kroki wykonania */
.prose ol.fm-steps { list-style: none; padding: 0; counter-reset: fmstep; display: grid; gap: .75rem; }
.prose ol.fm-steps > li { counter-increment: fmstep; position: relative; margin: 0; padding: 1rem 1.1rem 1rem 3.6rem; background: var(--paper); border-radius: 14px; box-shadow: var(--shadow); }
.prose ol.fm-steps > li::before { content: counter(fmstep); position: absolute; left: 1rem; top: .95rem; display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: var(--navy); color: var(--brand); font-weight: 700; font-size: .95rem; }

/* Błędy i wskazówki */
.prose ul.fm-mistakes, .prose ul.fm-checks, .prose ul.fm-variants, .prose ul.fm-muscles { list-style: none; padding: 0; display: grid; gap: .6rem; }
.prose ul.fm-mistakes > li, .prose ul.fm-checks > li { position: relative; margin: 0; padding: .8rem 1rem .8rem 3rem; border-radius: 14px; }
.prose ul.fm-mistakes > li { background: #fdf1ef; }
.prose ul.fm-mistakes > li::before { content: "✕"; position: absolute; left: 1rem; top: .8rem; display: grid; place-items: center; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: #c8432f; color: #fff; font-size: .75rem; font-weight: 700; }
.prose ul.fm-checks > li { background: #eef7f1; }
.prose ul.fm-checks > li::before { content: "✓"; position: absolute; left: 1rem; top: .8rem; display: grid; place-items: center; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: #2e8b57; color: #fff; font-size: .8rem; font-weight: 700; }
.prose ul.fm-variants { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.prose ul.fm-variants > li { margin: 0; padding: 1rem 1.1rem; border-radius: 14px; background: var(--paper); box-shadow: var(--shadow); }
.prose ul.fm-muscles { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.prose ul.fm-muscles > li { margin: 0; padding: .75rem 1rem; border-radius: 12px; background: var(--paper); border-left: 4px solid var(--brand); }
.prose .fm-tip { margin: 1.5rem 0; padding: 1.15rem 1.3rem 1.15rem 3.4rem; border-radius: var(--r-card); background: var(--navy); color: #fff; position: relative; }
.prose .fm-tip::before { content: "!"; position: absolute; left: 1.1rem; top: 1.1rem; display: grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--brand); color: var(--on-brand); font-weight: 700; }
.prose .fm-tip p, .prose .fm-tip strong { color: #fff; margin: 0; }
.prose .fm-tip p + p { margin-top: .6rem; }
.prose .fm-tip a { color: #fff; text-decoration-color: var(--brand); }
.prose .fm-verdict { margin: 2rem 0; padding: 1.2rem 1.35rem; border-radius: var(--r-card); background: color-mix(in srgb, var(--brand) 16%, #fff); }
.prose .fm-verdict > :first-child { margin-top: 0; }
.prose .fm-verdict > :last-child { margin-bottom: 0; }
@media (max-width: 640px) {
	.toc--chips ol { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: -.25rem; padding: 0 .25rem .25rem; }
	.toc--chips ol::-webkit-scrollbar { display: none; }
	.toc--chips a { white-space: nowrap; }
}

/* ===== 1.5: mega menu, szuflada, daty, FAQ, animacje ===== */
.fm-lock, .fm-lock body { overflow: hidden; }

/* Pasek ogłoszeń */
.topbar { background: var(--navy); color: #fff; font-size: .92rem; }
.topbar__in { display: flex; align-items: center; justify-content: center; gap: .6rem; min-height: 40px; position: relative; padding-right: 2.5rem; }
.topbar a { color: #fff; text-decoration: none; text-align: center; line-height: 1.35; padding: .35rem 0; }
.topbar a strong { color: var(--brand); white-space: nowrap; }
.topbar a:hover strong { text-decoration: underline; }
.topbar__dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 0 color-mix(in srgb, var(--brand) 60%, transparent); animation: fmPulse 2.2s infinite; }
.topbar__close { position: absolute; right: 0; top: 50%; translate: 0 -50%; width: 36px; height: 36px; border: 0; background: none; color: rgba(255,255,255,.7); font-size: 1.4rem; cursor: pointer; }
@keyframes fmPulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--brand) 60%, transparent); } 70% { box-shadow: 0 0 0 9px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }

/* Nagłówek – układ */
.site-header { z-index: 70; }
.site-header__in { position: static; }
.mega { order: 2; display: none; }
.nav-toggle { display: inline-flex; }
@media (min-width: 1100px) {
	.nav-toggle { display: none; }
	.mega { display: block; margin-right: auto; }
	.brand { margin: 0 1.75rem 0 0; }
	.header-cta { display: inline-flex; }
}
@media (max-width: 1099px) { .header-cta { display: none; } .site-nav { display: none !important; } }

.mega__bar { list-style: none; margin: 0; padding: 0; display: flex; gap: .15rem; }
.mega__trigger { display: inline-flex; align-items: center; gap: .35rem; height: 64px; padding: 0 .8rem; border: 0; background: none; font: 600 .97rem/1 var(--f-body); color: var(--ink); cursor: pointer; position: relative; }
.mega__trigger::after { content: ""; position: absolute; left: .8rem; right: .8rem; bottom: 12px; height: 3px; border-radius: 2px; background: var(--brand); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.mega__trigger:hover::after, .mega__trigger[aria-expanded="true"]::after { transform: scaleX(1); }
.mega__chev { width: 12px; height: 12px; transition: transform .2s; }
.mega__trigger[aria-expanded="true"] .mega__chev, .drawer__toggle[aria-expanded="true"] .mega__chev { transform: rotate(180deg); }

.mega__panel { position: absolute; left: 0; right: 0; top: 100%; background: var(--paper); border-top: 1px solid var(--line); box-shadow: 0 24px 48px rgba(17,24,37,.14); padding: 1.75rem 0 2rem; opacity: 0; transform: translateY(-6px); transition: opacity .18s ease, transform .18s ease; }
.mega__panel.is-open { opacity: 1; transform: none; }
.mega__intro { margin: 0 0 1rem; color: var(--steel); font-size: .95rem; }
.mega__cols { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 2.25rem; }
.mega__main--cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5rem; }
.mega__title { margin: 0 0 .75rem; font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--steel); }
.mega__links, .mega__plans, .mega__latest { list-style: none; margin: 0; padding: 0; }
.mega__links--grid, .mega__plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem 1rem; }
.mega__links a, .mega__plans a { display: flex; align-items: center; gap: .8rem; padding: .6rem .7rem; border-radius: 12px; text-decoration: none; color: var(--ink); transition: background .15s; }
.mega__links a:hover, .mega__plans a:hover, .mega__links a:focus-visible, .mega__plans a:focus-visible { background: var(--chalk); }
.mega__links strong, .mega__plans strong { display: block; font-weight: 600; line-height: 1.25; }
.mega__links small { display: block; color: var(--steel); font-size: .85rem; line-height: 1.3; }
.mega__plans .lvl { font-size: .8rem; font-weight: 700; color: var(--steel); }
.mega__ico { flex: none; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 12px; background: color-mix(in srgb, var(--brand) 20%, #fff); color: var(--brand-d); transition: background .15s, color .15s, transform .15s; }
.mega__ico .icon { width: 1.25rem; height: 1.25rem; }
.mega__links a:hover .mega__ico, .mega__plans a:hover .mega__ico { background: var(--navy); color: var(--brand); transform: rotate(-6deg); }
.mega__search { display: flex; align-items: center; gap: .5rem; margin-top: 1rem; padding: 0 .9rem; border: 1.5px solid var(--line); border-radius: 999px; max-width: 460px; color: var(--steel); }
.mega__search input { flex: 1; border: 0; min-height: 44px; font: inherit; background: none; outline: none; }
.mega__all { display: inline-flex; align-items: center; gap: .35rem; margin-top: 1rem; font-weight: 600; text-decoration: none; }
.mega__feature { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: .5rem; padding: 1.25rem; border-radius: var(--r-card); background: var(--chalk); color: var(--ink); text-decoration: none; }
.mega__feature--dark { background: var(--navy); color: #fff; }
.mega__feature--dark p { color: rgba(255,255,255,.8); margin: 0; }
.mega__feature--dark .btn { align-self: flex-start; margin-top: .5rem; }
.mega__slash { position: absolute; right: -20px; top: -30px; width: 60px; height: 170px; background: var(--brand); transform: skewX(-30deg); border-radius: 0 0 0 18px; opacity: .95; }
.mega__kicker { margin: 0; font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--brand-d); position: relative; }
.mega__feature--dark .mega__kicker { color: var(--brand); }
.mega__big { margin: 0; font-size: 1.5rem; font-weight: 700; line-height: 1.15; color: #fff !important; position: relative; max-width: 220px; }
.mega__thumb { position: relative; display: block; border-radius: 12px; overflow: hidden; aspect-ratio: 16 / 9; background: var(--navy); }
.mega__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.mega__feature--video:hover img { transform: scale(1.05); }
.mega__feature--video strong { font-size: 1.05rem; line-height: 1.3; }
.mega__latest li + li { margin-top: .6rem; }
.mega__latest a { display: grid; grid-template-columns: 64px 1fr; gap: .75rem; align-items: center; text-decoration: none; color: var(--ink); }
.mega__latest strong { display: block; font-size: .95rem; line-height: 1.3; }
.mega__latest a:hover strong { color: var(--brand-d); text-decoration: underline; }
.mega__latest time { font-size: .8rem; color: var(--steel); }
.mega__lthumb { display: block; width: 64px; height: 64px; border-radius: 10px; overflow: hidden; background: var(--navy); }
.mega__lthumb img { width: 100%; height: 100%; object-fit: cover; }
.mega__lthumb .art { aspect-ratio: 1; }
.mega__backdrop { position: fixed; inset: 0; top: auto; height: 100vh; background: rgba(17,24,37,.35); z-index: -1; }

/* Szuflada mobilna */
.drawer { position: fixed; inset: 0; z-index: 100; background: rgba(17,24,37,0); transition: background .25s; }
.drawer.is-open { background: rgba(17,24,37,.5); }
.drawer__panel { position: absolute; left: 0; top: 0; bottom: 0; width: min(92vw, 420px); display: flex; flex-direction: column; background: var(--paper); transform: translateX(-100%); transition: transform .26s cubic-bezier(.2,.8,.2,1); overflow-y: auto; overscroll-behavior: contain; }
.drawer.is-open .drawer__panel { transform: none; }
.drawer__head { display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.1rem; border-bottom: 1px solid var(--line); position: sticky; top: 0; background: var(--paper); z-index: 1; }
.drawer__head .brand { margin: 0; }
.drawer__close { width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--chalk); font-size: 1.6rem; line-height: 1; cursor: pointer; color: var(--ink); }
.drawer__search { padding: 1rem 1.1rem .5rem; }
.drawer__search input { width: 100%; min-height: 48px; padding: 0 1rem; border: 1.5px solid var(--line); border-radius: 999px; font: inherit; background: var(--chalk); }
.drawer__nav { list-style: none; margin: 0; padding: .25rem 1.1rem 1rem; flex: 1; }
.drawer__sec { border-bottom: 1px solid var(--line); }
.drawer__toggle { display: flex; width: 100%; align-items: center; justify-content: space-between; min-height: 56px; border: 0; background: none; font: 600 1.08rem var(--f-body); color: var(--ink); cursor: pointer; padding: 0; }
.drawer__list { list-style: none; margin: 0 0 .75rem; padding: 0; }
.drawer__list a { display: flex; align-items: center; gap: .75rem; min-height: 46px; padding: .35rem .5rem; border-radius: 10px; text-decoration: none; color: var(--ink); font-weight: 700; }
.drawer__list a:active, .drawer__list a:hover { background: var(--chalk); }
.drawer__list .icon { color: var(--brand-d); width: 1.25rem; height: 1.25rem; }
.drawer__list small { margin-left: auto; color: var(--steel); font-weight: 400; }
.drawer__group { margin: .6rem 0 .2rem .5rem; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--steel); }
.drawer__more { color: var(--brand-d) !important; }
.drawer__foot { position: sticky; bottom: 0; padding: 1rem 1.1rem calc(1rem + env(safe-area-inset-bottom)); background: var(--paper); border-top: 1px solid var(--line); }
.drawer__wpmenu ul { list-style: none; margin: 0; padding: 0 1.1rem; }
.drawer__wpmenu a { display: block; padding: .7rem 0; font-weight: 600; text-decoration: none; }

/* Daty */
.date { display: inline-flex; align-items: center; gap: .35rem; }
.date .icon { color: var(--brand-d); }
.date--upd { padding: .15rem .6rem; border-radius: 999px; background: #e9f5ee; color: #1f6a3f; }
.date--upd .icon { color: #2e8b57; }
.plan-hero .entry__meta { margin: .75rem 0 0; }

/* FAQ w treści */
.faq--content { margin: 1rem 0 2rem; }
.faq--content summary h3 { margin: 0; font-size: 1.08rem; line-height: 1.35; font-weight: 600; scroll-margin-top: 6rem; }
.faq--content .faq__a { padding: 0 1.25rem 1.1rem; color: #2a3243; overflow: hidden; }
.faq--content .faq__a > :last-child { margin-bottom: 0; }
.faq details > :not(summary) { transition: height .24s ease, opacity .24s ease; }
.faq summary:focus-visible { outline: 3px solid var(--brand-d); outline-offset: -3px; border-radius: 16px; }

/* Animacje */
.fm-js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s ease var(--d, 0ms), transform .55s cubic-bezier(.2,.8,.2,1) var(--d, 0ms); }
.fm-js .reveal.is-in { opacity: 1; transform: none; }
.hero::before { animation: fmSlashIn 1s cubic-bezier(.2,.8,.2,1) both, fmFloat 9s ease-in-out 1s infinite; }
.hero::after { animation: fmSlashIn2 1.1s cubic-bezier(.2,.8,.2,1) .1s both, fmFloat 11s ease-in-out 1.2s infinite reverse; }
.hero h1, .hero__copy p, .hero__links, .trust li { animation: fmUp .7s cubic-bezier(.2,.8,.2,1) both; }
.hero__copy p { animation-delay: .1s; } .hero__links { animation-delay: .18s; }
.trust li:nth-child(1) { animation-delay: .26s; } .trust li:nth-child(2) { animation-delay: .34s; } .trust li:nth-child(3) { animation-delay: .42s; }
.board { animation: fmBoard .8s cubic-bezier(.2,.8,.2,1) .15s both; }
.board__result h3 { animation: fmUp .45s ease both; }
@keyframes fmUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes fmBoard { from { opacity: 0; transform: translateY(24px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes fmSlashIn { from { transform: translate(-120%, -40%) skewX(-32deg); } to { transform: skewX(-32deg); } }
@keyframes fmSlashIn2 { from { transform: translate(120%, 40%) skewX(-32deg); } to { transform: skewX(-32deg); } }
@keyframes fmFloat { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
.art__slash { transition: transform .5s cubic-bezier(.2,.8,.2,1); }
.art__icon { transition: transform .5s cubic-bezier(.2,.8,.2,1); }
.card:hover .art__slash, .plan:hover .art__slash { transform: skewX(-32deg) translateX(-14px); }
.card:hover .art__slash--2, .plan:hover .art__slash--2 { transform: skewX(-32deg) translateX(10px); }
.card:hover .art__icon, .plan:hover .art__icon { transform: scale(1.08) rotate(-4deg); }
.home .reveal.is-in .steps__icon, .steps li.is-in .steps__icon { animation: fmPop .5s cubic-bezier(.2,1.4,.4,1) calc(var(--d, 0ms) + .15s) both; }
@keyframes fmPop { from { transform: scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }
.video-card .yt__play { transition: transform .2s; }
.video-card:hover .yt__play { transform: scale(1.12); }
.topics a { transition: background .15s, color .15s, transform .15s; }
.topics a:hover { transform: translateY(-2px); }

@media (prefers-reduced-motion: reduce) {
	.hero::before, .hero::after, .hero h1, .hero__copy p, .hero__links, .trust li, .board, .topbar__dot, .board__result h3 { animation: none !important; }
	.fm-js .reveal { opacity: 1; transform: none; transition: none; }
	.mega__panel, .drawer, .drawer__panel { transition: none; }
}
.mega__trigger { white-space: nowrap; padding: 0 .6rem; }
.mega__trigger::after { left: .6rem; right: .6rem; }
.header-cta { white-space: nowrap; }
.site-header:has(.mega__trigger[aria-expanded="true"]) { background: var(--paper); backdrop-filter: none; -webkit-backdrop-filter: none; }
.mega__slash { top: auto; bottom: -40px; right: -24px; width: 52px; height: 150px; border-radius: 18px 0 0 0; }
.mega__feature--dark > *:not(.mega__slash) { position: relative; z-index: 1; max-width: 250px; }
@media (min-width: 1100px) and (max-width: 1260px) { .mega__trigger { font-size: .9rem; padding: 0 .45rem; } .brand { margin-right: 1rem; } }
.mega__backdrop { position: fixed; inset: 0; height: auto; z-index: 60; background: rgba(17,24,37,.4); }
.faq summary h3 { flex: 1; text-wrap: pretty; }
.faq--content .faq__a p, .faq--content .faq__a li { padding: 0; color: #2a3243; }
.drawer__head .brand { order: 0; }

/* ===== 1.6: landing page planów i partnerzy ===== */
.btn--lg { min-height: 56px; padding: 1rem 1.7rem; font-size: 1.08rem; }
.btn--sm { min-height: 38px; padding: .45rem .95rem; font-size: .9rem; }
.btn--ghost-light { border: 2px solid rgba(255,255,255,.5); color: #fff; background: transparent; }
.btn--ghost-light:hover { background: #fff; color: var(--ink); }
.tag--gold { background: var(--brand); color: var(--on-brand); }
.lp-kicker { margin: 0 0 .4rem; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--brand-d); }
.section--ink .lp-kicker, .lp-hero .lp-kicker { color: var(--brand); }

/* Hero landingu */
.lp-hero { position: relative; overflow: hidden; background: radial-gradient(90% 120% at 85% 0%, #22314d 0%, var(--navy) 55%); color: #fff; padding: 0 0 clamp(2.5rem, 6vw, 4.5rem); }
.lp-hero::after { content: ""; position: absolute; right: -40px; bottom: -60px; width: 110px; height: 320px; background: var(--brand); transform: skewX(-32deg); border-radius: 28px 0 0 0; opacity: .95; animation: fmSlashIn2 1.1s cubic-bezier(.2,.8,.2,1) both; }
.lp-hero .crumbs, .lp-hero .crumbs a { color: rgba(255,255,255,.65); }
.lp-hero__grid { position: relative; z-index: 1; display: grid; gap: 2rem; margin-top: 1rem; align-items: center; }
@media (min-width: 960px) { .lp-hero__grid { grid-template-columns: 1.05fr 1fr; gap: 3.5rem; } }
.lp-hero h1 { color: #fff; font-size: clamp(2.1rem, 4.6vw, 3.6rem); margin: .75rem 0 .75rem; }
.lp-hero .lvl { color: #fff; }
.lp-hero__lead { font-size: 1.18rem; color: rgba(255,255,255,.82); max-width: 50ch; }
.lp-facts { list-style: none; margin: 1.25rem 0 1.75rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.lp-facts li { display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .85rem; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); font-weight: 700; font-size: .93rem; }
.lp-facts .icon { color: var(--brand); }
.lp-hero__cta { display: flex; flex-wrap: wrap; gap: .75rem; }
.lp-hero h1, .lp-hero__lead, .lp-facts, .lp-hero__cta { animation: fmUp .7s cubic-bezier(.2,.8,.2,1) both; }
.lp-hero__lead { animation-delay: .08s; } .lp-facts { animation-delay: .16s; } .lp-hero__cta { animation-delay: .24s; }
.lp-hero__visual { position: relative; animation: fmBoard .8s cubic-bezier(.2,.8,.2,1) .1s both; }
.lp-hero__img { border-radius: 22px; overflow: hidden; box-shadow: 0 30px 60px rgba(0,0,0,.35); aspect-ratio: 16 / 10; background: #0d1522; }
.lp-hero__img img { width: 100%; height: 100%; object-fit: cover; }
.lp-hero__img .art { aspect-ratio: auto; }
.lp-price { position: relative; margin: -2.5rem 1rem 0 auto; max-width: 340px; padding: 1.25rem 1.35rem; border-radius: 18px; background: var(--paper); color: var(--ink); box-shadow: 0 20px 44px rgba(0,0,0,.28); }
@media (max-width: 959px) { .lp-price { margin: -2rem auto 0; } }
.lp-price__name { margin: 0; font-weight: 600; color: var(--steel); font-size: .95rem; }
.lp-price__value { margin: .2rem 0 .5rem; font-size: 2.1rem; font-weight: 700; line-height: 1.1; }
.lp-price__value small { font-size: .95rem; font-weight: 700; color: var(--steel); }
.lp-price__trial { display: inline-flex; align-items: center; gap: .4rem; margin: 0 0 .9rem; padding: .25rem .7rem; border-radius: 999px; background: #e9f5ee; color: #1f6a3f; font-weight: 600; font-size: .9rem; }
.lp-price__note { display: flex; align-items: center; gap: .4rem; margin: .75rem 0 0; font-size: .85rem; color: var(--steel); }
.lp-price__note .icon { color: var(--brand-d); }
.lp-price--aside { margin: 0; max-width: none; box-shadow: var(--shadow); border-top: 4px solid var(--brand); }

/* Liczby */
.lp-numbers { background: var(--paper); border-bottom: 1px solid var(--line); }
.lp-numbers ul { list-style: none; margin: 0; padding: 1.5rem 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1rem; text-align: center; }
.lp-numbers strong { display: block; font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 700; line-height: 1; color: var(--ink); }
.lp-numbers strong::after { content: ""; display: block; width: 28px; height: 4px; margin: .5rem auto .4rem; border-radius: 2px; background: var(--brand); }
.lp-numbers span { color: var(--steel); font-size: .95rem; }

/* Dla kogo */
.lp-who__grid { display: grid; gap: 2rem; }
@media (min-width: 900px) { .lp-who__grid { grid-template-columns: 1.4fr 1fr; gap: 3.5rem; align-items: start; } }
.lp-checks { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; gap: .75rem; }
.lp-checks li { display: grid; grid-template-columns: 2rem 1fr; gap: .75rem; align-items: start; padding: 1rem 1.1rem; border-radius: 16px; background: var(--paper); box-shadow: var(--shadow); font-size: 1.05rem; }
.lp-checks .icon { width: 2rem; height: 2rem; padding: .4rem; border-radius: 50%; background: var(--brand); color: var(--on-brand); stroke-width: 2.6; }
.lp-level { padding: 1.4rem; border-radius: var(--r-card); background: var(--navy); color: #fff; }
.lp-level .lvl { color: #fff; font-size: 1.05rem; }
.lp-level__value { margin: 0 0 1rem; }
.lp-level p { color: rgba(255,255,255,.85); }
.lp-level strong { color: #fff; }
.lp-level__alt { margin: 1.25rem 0 .5rem; font-weight: 600; color: #fff !important; }
.lp-alt { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.lp-alt a { display: grid; gap: .1rem; padding: .7rem .85rem; border-radius: 12px; background: rgba(255,255,255,.07); color: #fff; text-decoration: none; font-weight: 700; }
.lp-alt a:hover { background: rgba(255,255,255,.14); }
.lp-alt .lvl { font-size: .82rem; font-weight: 400; color: rgba(255,255,255,.75); }

/* Tydzień */
.week { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .6rem; }
.week__day { display: grid; justify-items: center; gap: .5rem; padding: 1rem .4rem 1.1rem; border-radius: 16px; background: var(--navy); color: #fff; text-align: center; }
.week__day.is-rest { background: var(--chalk); color: var(--steel); border: 1px dashed var(--line); }
.week__name { font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; opacity: .75; }
.week__ico { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--brand); color: var(--on-brand); }
.week__day.is-rest .week__ico { background: #fff; color: var(--steel); }
.week__what { font-weight: 600; font-size: .9rem; line-height: 1.25; }
@media (max-width: 760px) {
	.week { grid-template-columns: 1fr; }
	.week__day { grid-template-columns: 3.2rem 2.6rem 1fr; justify-items: start; align-items: center; text-align: left; padding: .7rem 1rem; }
}

/* Zawartość */
.lp-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }
.lp-cards li { padding: 1.4rem; border-radius: var(--r-card); background: var(--paper); box-shadow: var(--shadow); transition: transform .2s, box-shadow .2s; }
.lp-cards li:hover { transform: translateY(-3px); box-shadow: var(--shadow-h); }
.lp-cards__ico { display: inline-grid; place-items: center; width: 3rem; height: 3rem; margin-bottom: .9rem; border-radius: 14px; background: var(--navy); color: var(--brand); }
.lp-cards__ico .icon { width: 1.5rem; height: 1.5rem; }
.lp-cards h3 { font-size: 1.12rem; margin: 0 0 .35rem; }
.lp-cards p { margin: 0; color: var(--steel); font-size: .98rem; }

/* Podgląd aplikacji */
.lp-video { max-width: 860px; margin: 0 auto 2rem; }
.lp-phones { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 1.25rem; align-items: start; }
.lp-phones li { border-radius: 26px; padding: 8px; background: #0b111b; box-shadow: 0 24px 48px rgba(0,0,0,.4); border: 1px solid rgba(255,255,255,.12); }
.lp-phones img { width: 100%; border-radius: 20px; }
.lp-phones li:nth-child(even) { transform: translateY(1.5rem); }
@media (max-width: 640px) { .lp-phones { grid-template-columns: repeat(2, 1fr); } .lp-phones li:nth-child(even) { transform: none; } }

/* Eksperci, opinie */
.lp-avatar { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--navy); color: var(--brand); font-weight: 700; font-size: 1.3rem; box-shadow: 0 0 0 3px var(--brand); }
.lp-experts .team li { grid-template-columns: 56px 1fr; align-items: center; }
.reviews { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.reviews li { display: flex; flex-direction: column; gap: .75rem; padding: 1.5rem; border-radius: var(--r-card); background: var(--paper); box-shadow: var(--shadow); }
.reviews__stars { color: var(--brand); letter-spacing: .15em; font-size: 1.1rem; }
.reviews blockquote { margin: 0; font-size: 1.08rem; line-height: 1.6; color: var(--ink); }
.reviews blockquote p { margin: 0; }
.reviews__who { display: flex; align-items: center; gap: .75rem; margin: auto 0 0; }
.reviews__who .lp-avatar { width: 44px; height: 44px; font-size: 1.05rem; box-shadow: none; }
.reviews__who small { display: block; color: var(--steel); font-size: .85rem; }

/* Pas CTA */
.lp-band { position: relative; overflow: hidden; background: var(--navy); color: #fff; padding: 2.25rem 0; }
.lp-band::before { content: ""; position: absolute; left: -30px; top: -40px; width: 80px; height: 200px; background: var(--brand); transform: skewX(-32deg); border-radius: 0 0 22px 0; }
.lp-band__in { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem; }
.lp-band__title { margin: 0 0 .25rem; font-size: clamp(1.4rem, 2.6vw, 1.9rem); font-weight: 700; color: #fff; }
.lp-band__title small { font-size: .95rem; color: rgba(255,255,255,.7); font-weight: 700; }
.lp-band p { margin: 0; color: rgba(255,255,255,.8); }
@media (min-width: 700px) { .lp-band__in { padding-left: 3rem; } }

/* Porównanie planów */
.cmp { width: 100%; border-collapse: collapse; background: var(--paper); min-width: 640px; }
.cmp th, .cmp td { padding: .9rem 1rem; text-align: left; border-bottom: 1px solid var(--line); vertical-align: middle; }
.cmp thead th { background: var(--navy); color: #fff; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; }
.cmp tbody th { font-weight: 600; }
.cmp tbody th a { text-decoration: none; }
.cmp__ico { display: inline-grid; place-items: center; width: 2rem; height: 2rem; margin-right: .6rem; border-radius: 10px; background: color-mix(in srgb, var(--brand) 20%, #fff); color: var(--brand-d); vertical-align: middle; }
.cmp tr.is-current { background: color-mix(in srgb, var(--brand) 12%, #fff); }
.cmp tr.is-current th::after { content: "ten plan"; margin-left: .5rem; padding: .1rem .5rem; border-radius: 999px; background: var(--navy); color: var(--brand); font-size: .72rem; font-weight: 600; }
.lp-compare .table-wrap { max-width: none; }

/* Partnerzy */
.partners { background: var(--paper); border-top: 1px solid var(--line); padding: clamp(2.5rem, 5vw, 3.5rem) 0; margin-top: 3rem; }
.partners + .site-footer { margin-top: 0; }
.partners__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 2rem; margin-bottom: 1.5rem; }
.partners__head h2 { margin: 0; font-size: clamp(1.4rem, 2.6vw, 1.8rem); }
.partners__head p { margin: 0; color: var(--steel); }
.partners__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.partners__list a { display: flex; flex-direction: column; gap: .6rem; height: 100%; padding: 1.35rem; border-radius: var(--r-card); background: var(--chalk); border: 1px solid var(--line); text-decoration: none; color: var(--ink); transition: transform .2s, box-shadow .2s, border-color .2s; }
.partners__list a:hover { transform: translateY(-3px); box-shadow: var(--shadow-h); border-color: transparent; background: var(--paper); }
.partners__logo { display: flex; align-items: center; gap: .6rem; min-height: 44px; }
.partners__logo img { max-height: 40px; width: auto; }
.partners__logo .icon { width: 2.4rem; height: 2.4rem; padding: .5rem; border-radius: 12px; background: var(--navy); color: var(--brand); }
.partners__word { font-size: 1.3rem; font-weight: 700; letter-spacing: -.01em; }
.partners__desc { color: var(--steel); font-size: .97rem; line-height: 1.5; }
.partners__url { margin-top: auto; font-weight: 600; font-size: .9rem; color: var(--brand-d); }

@media (prefers-reduced-motion: reduce) {
	.lp-hero::after, .lp-hero h1, .lp-hero__lead, .lp-facts, .lp-hero__cta, .lp-hero__visual { animation: none !important; }
}
.table-wrap { position: relative; }
@media (max-width: 640px) {
	.lp-compare .table-wrap { overflow: visible; box-shadow: none; }
	.cmp { min-width: 0; background: none; }
	.cmp thead { display: none; }
	.cmp, .cmp tbody { display: block; }
	.cmp tr { display: grid; grid-template-columns: 1fr auto; gap: .3rem .75rem; margin-bottom: .6rem; padding: 1rem; border-radius: 16px; background: var(--paper); box-shadow: var(--shadow); }
	.cmp th, .cmp td { display: block; padding: 0; border: 0; grid-column: 1; }
	.cmp td[data-label]::before { content: attr(data-label); color: var(--steel); font-size: .88rem; }
	.cmp .cmp__btn { grid-column: 2; grid-row: 1 / span 4; align-self: center; }
	.cmp tr.is-current { box-shadow: var(--shadow), inset 0 0 0 2px var(--brand); }
}

/* Poradniki pod planem */
.lp-topic + .lp-topic { margin-top: 2.5rem; padding-top: 2.5rem; border-top: 1px solid var(--line); }
.lp-topic__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1.5rem; margin-bottom: 1.1rem; }
.lp-topic__head h3 { display: flex; align-items: center; margin: 0; font-size: 1.4rem; }
.lp-topic .grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }

/* ===== 1.8: lżejsza typografia, mniej pustych przestrzeni, więcej oddechu w treści ===== */
body { font-weight: 400; color: #2b3445; line-height: 1.65; }
h1, h2, h3, h4 { font-weight: 700; letter-spacing: -.015em; line-height: 1.15; color: var(--ink); }
h1 { font-size: clamp(1.9rem, 3.6vw, 2.8rem); }
h2 { font-size: clamp(1.45rem, 2.4vw, 1.95rem); font-weight: 650; }
h3 { font-size: 1.15rem; font-weight: 650; }
.hero h1 { font-size: clamp(2rem, 3.8vw, 3rem); font-weight: 700; line-height: 1.12; }
.hero__copy p { font-size: 1.05rem; line-height: 1.6; }
.section { padding-block: clamp(2rem, 4.2vw, 3.25rem); }
.section__head { margin-bottom: 1.25rem; }
.section__head p { font-size: .98rem; }
.hero { padding-block: clamp(1.75rem, 4vw, 3rem); }
.trust { margin-top: 1.25rem; gap: .4rem; }
.trust li { font-weight: 500; font-size: .95rem; }

/* Przyciski, nawigacja */
.btn { font-weight: 600; font-size: .97rem; min-height: 44px; padding: .65rem 1.2rem; }
.btn--lg { min-height: 50px; padding: .85rem 1.5rem; font-size: 1rem; }
.mega__trigger, .site-nav a { font-weight: 600; font-size: .94rem; }
.drawer__toggle { font-weight: 600; font-size: 1rem; }
.drawer__list a { font-weight: 500; }
.topbar { font-size: .88rem; }
.topbar a strong { font-weight: 600; }

/* Dobór planu */
.board { padding: clamp(1.1rem, 2.4vw, 1.6rem); }
.board h2 { font-size: 1.45rem; font-weight: 650; margin-bottom: .9rem; }
.board legend { font-weight: 600; font-size: 1.02rem; }
.board fieldset { margin-bottom: .9rem; }
.chip span { font-size: .9rem; min-height: 38px; padding: .35rem .8rem; }
.board__result h3 { font-size: 1.3rem; }

/* Karty i listy */
.stats-bar { padding-block: 1rem; }
.stats strong { font-size: 1.35rem; font-weight: 650; }
.stats .icon { width: 2.3rem; height: 2.3rem; }
.topics { padding-top: .9rem; }
.topics a { font-weight: 500; font-size: .9rem; padding: .45rem .9rem; }
.plans, .grid { gap: 1rem; }
.plan__body { padding: 1rem 1.1rem 1.15rem; gap: .45rem; }
.plan__title { font-size: 1.2rem; font-weight: 650; }
.plan__lead { font-size: .94rem; line-height: 1.55; }
.price { font-size: 1.3rem; font-weight: 700; }
.lvl { font-weight: 500; font-size: .86rem; }
.card__body { padding: .9rem 1rem 1rem; }
.card__title { font-size: 1.05rem; font-weight: 650; line-height: 1.3; }
.card--big .card__title { font-size: clamp(1.2rem, 2vw, 1.45rem); }
.card__term { font-weight: 600; font-size: .82rem; }
.row__title { font-weight: 600; font-size: .98rem; }
.row { padding: .35rem 0; }
.rack a, .tools a { font-weight: 500; }
.rack b { font-weight: 600; font-size: 1.2rem; }
.plan-list__name, .mega__links strong, .mega__plans strong { font-weight: 600; }
.home-cat .section__head h2 { font-size: clamp(1.3rem, 2.2vw, 1.7rem); }
.h-icon { width: 1.9rem; height: 1.9rem; border-radius: 10px; }
.h-icon .icon { width: 1.1rem; height: 1.1rem; }
.steps li { padding: 1.2rem 1.25rem; }
.steps li::after { font-size: 2rem; }
.steps h3 { font-size: 1.08rem; }
.steps p { font-size: .95rem; }
.faq summary { font-weight: 600; font-size: 1rem; padding: .95rem 1.15rem; }
.faq details p { font-size: .97rem; }
.lp-kicker, .mega__title, .mega__kicker { font-weight: 600; letter-spacing: .07em; }
.section__more { font-weight: 600; font-size: .95rem; }

/* Treść wpisów – czytelniej */
.prose { font-size: 1.08rem; line-height: 1.75; }
.prose p, .prose li { color: #343d50; }
.prose h2 { font-weight: 650; }
.prose h3 { font-weight: 600; font-size: 1.2rem; }
.entry__head h1, .archive-head h1 { font-weight: 700; }

/* Landing planu – spokojniejszy nagłówek */
.lp-hero { padding-bottom: clamp(2rem, 4vw, 3rem); }
.lp-hero h1 { font-size: clamp(1.8rem, 3.3vw, 2.6rem); font-weight: 700; margin: .6rem 0 .6rem; }
.lp-hero__lead { font-size: 1.05rem; line-height: 1.6; max-width: 46ch; }
.lp-hero__cta { margin-top: 1.4rem; align-items: center; }
.lp-hero__more { color: rgba(255,255,255,.85); font-weight: 600; text-decoration-color: var(--brand); }
.lp-hero__more:hover { color: #fff; }
.lp-hero__grid { gap: 2rem; }
.lp-price { padding: 1.05rem 1.2rem; }
.lp-price__value { font-size: 1.75rem; font-weight: 700; }
.lp-numbers ul { padding: 1rem 0; }
.lp-numbers strong { font-size: clamp(1.6rem, 3vw, 2.1rem); font-weight: 650; }
.lp-checks li { padding: .8rem 1rem; font-size: 1rem; }
.lp-cards li { padding: 1.15rem; }
.lp-cards h3 { font-size: 1.02rem; }
.lp-cards p { font-size: .94rem; }
.week__what { font-weight: 600; }
.lp-band { padding: 1.6rem 0; }
.lp-band__title { font-weight: 650; font-size: clamp(1.2rem, 2.2vw, 1.55rem); }
.cmp th, .cmp td { padding: .7rem .9rem; }
.partners { padding: clamp(1.75rem, 4vw, 2.5rem) 0; }
.partners__word { font-weight: 650; font-size: 1.15rem; }
.site-footer { padding-block: 2.25rem 1.5rem; }
.sticky-cta { transform: translateY(calc(100% + 2rem)); opacity: 0; visibility: hidden; transition: transform .25s ease, opacity .2s ease, visibility 0s linear .25s; }
.sticky-cta.is-on { transform: none; opacity: 1; visibility: visible; transition: transform .25s ease, opacity .2s ease; }

/* ===== 1.9: mniej treści, mniejsze logo, zwarta strona główna ===== */
.site-header__in { min-height: 58px; }
.brand { font-size: 1.25rem; }
.brand img, .custom-logo-link img, .custom-logo { max-height: 26px; width: auto; height: auto; display: block; }
@media (max-width: 1099px) { .brand img, .custom-logo { max-height: 22px; } .brand { font-size: 1.1rem; } }
.mega__trigger { height: 58px; font-size: .9rem; }
.header-cta { min-height: 38px; padding: .45rem 1rem; font-size: .9rem; }
.topbar__in { min-height: 34px; }

/* Hero mieści się na pierwszym ekranie */
.hero { padding-block: clamp(1.5rem, 3.2vw, 2.4rem); }
.hero__grid { align-items: center; gap: 2rem; }
.hero h1 { font-size: clamp(1.75rem, 3vw, 2.45rem); margin-bottom: .6rem; }
.hero__copy p { font-size: 1rem; margin-bottom: 0; }
.hero__links { margin-top: 1.2rem; align-items: center; gap: 1rem; }
.hero__more { display: inline-flex; align-items: center; gap: .4rem; color: rgba(255,255,255,.85); font-weight: 500; text-decoration: none; }
.hero__more:hover { color: #fff; text-decoration: underline; }
.hero__more .icon { color: var(--brand); }
@media (max-width: 899px) { .hero__links { display: flex; } }
.board { padding: 1.1rem 1.25rem; border-radius: 18px; }
.board h2 { font-size: 1.15rem; margin-bottom: .7rem; }
.board legend { font-size: .92rem; margin-bottom: .45rem; }
.board__num { width: 1.4rem; height: 1.4rem; font-size: .8rem; }
.board fieldset { margin-bottom: .7rem; }
.chips { gap: .35rem; }
.chip span { font-size: .84rem; min-height: 34px; padding: .25rem .7rem; }
.chip span .icon { width: 1rem; height: 1rem; }
.board__result { padding-top: .8rem; }
.board__hint { font-size: .88rem; }

/* Pasek liczb i tematy – jedna linia */
.stats-bar { padding-block: .7rem .3rem; }
.stats-line { display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem 1.6rem; margin: 0; font-size: .9rem; color: var(--steel); }
.stats-line strong { color: var(--ink); font-weight: 650; margin-right: .2rem; }
.topics { padding: .55rem 0 .4rem; justify-content: center; flex-wrap: nowrap; }
.topics a { font-size: .84rem; padding: .3rem .75rem; }
.topics .icon { width: .95rem; height: .95rem; }
@media (max-width: 899px) { .topics { justify-content: flex-start; } }

/* Najnowsze: zrównoważony układ */
.feature--wide { align-items: start; }
@media (min-width: 760px) { .feature--wide { grid-template-columns: 1fr 1fr; } }
.card--big .card__media { aspect-ratio: 16 / 9; }
.rows .row { grid-template-columns: 72px 1fr; gap: .75rem; }
.row__title { font-size: .93rem; line-height: 1.35; }
.row__date { font-size: .8rem; }
.with-plan { gap: 1.5rem; }
@media (min-width: 1040px) { .with-plan { grid-template-columns: minmax(0, 1fr) 280px; gap: 2rem; } }

/* Lista planów w kolumnie – zwarta */
.plan-list { padding: .85rem 1rem; }
.plan-list__title { font-size: 1rem; margin-bottom: .2rem; }
.plan-list a { padding: .45rem 0; gap: 0; }
.plan-list__name { font-size: .9rem; font-weight: 600; }
.plan-list .lvl { font-size: .76rem; }
.plan-list .lvl::before { width: .6rem; height: .6rem; }

/* Mała karta planu obok sekcji */
.plan-mini { display: grid; grid-template-columns: auto 1fr; gap: .25rem .85rem; align-items: center; padding: 1rem 1.1rem; border-radius: 16px; background: var(--navy); color: #fff; text-decoration: none; box-shadow: var(--shadow); position: relative; overflow: hidden; transition: transform .2s; }
.plan-mini::after { content: ""; position: absolute; right: -16px; bottom: -30px; width: 30px; height: 90px; background: var(--brand); transform: skewX(-32deg); border-radius: 12px 0 0 0; }
.plan-mini:hover { transform: translateY(-2px); color: #fff; }
.plan-mini__ico { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 12px; background: var(--brand); color: var(--on-brand); }
.plan-mini__ico .icon { width: 1.3rem; height: 1.3rem; }
.plan-mini__body { display: grid; gap: .1rem; }
.plan-mini__kicker { font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; color: var(--brand); font-weight: 600; }
.plan-mini strong { font-weight: 600; font-size: 1rem; line-height: 1.25; }
.plan-mini .lvl { color: rgba(255,255,255,.8); font-size: .78rem; }
.plan-mini__foot { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; margin-top: .55rem; padding-top: .55rem; border-top: 1px solid rgba(255,255,255,.12); font-weight: 650; position: relative; z-index: 1; }
.plan-mini__go { display: inline-flex; align-items: center; gap: .3rem; font-size: .88rem; color: var(--brand); font-weight: 600; }

/* Sekcje kategorii – ciaśniej */
.home-cat { padding-block: clamp(1.5rem, 3vw, 2.25rem); }
.home-cat .section__head { margin-bottom: .9rem; }
.home-cat .section__head h2 { font-size: clamp(1.15rem, 1.8vw, 1.4rem); }
.grid--3 .card__media { aspect-ratio: 16 / 10; }
.videos { gap: 1rem; margin-bottom: 1.25rem; }
.topics { justify-content: flex-start; }
.topics a:first-child { margin-left: auto; }
.topics a:last-child { margin-right: auto; }
.home .with-plan:not(:has(.with-plan__side)) { grid-template-columns: 1fr; }
@media (min-width: 760px) { .feature--wide { grid-template-columns: 1.1fr 1fr; gap: 1.5rem; } }
.videos { grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
.video-card .card__title { font-size: .95rem; }
.section--ink .rack { margin-bottom: 1rem; }
.card--big .card__media { aspect-ratio: 2 / 1; }
@media (max-width: 600px) {
	.topbar { display: none; }
	.hero h1 { font-size: 1.65rem; }
	.hero__more { display: none; }
	.hero__links { margin-top: 1rem; }
}

/* ===== 2.0: jasny układ, granat i złoto jako akcenty, poprawki mobilne ===== */

/* Nic nie wychodzi poza ekran */
html, body { overflow-x: clip; }
.entry__layout > *, .with-plan > *, .lp-who__grid > *, .hero__grid > *, .lp-hero__grid > *, .ex-hero > *, .faq-wrap > * { min-width: 0; }
.prose { overflow-wrap: anywhere; }
.prose iframe, .prose video, .prose embed, .prose object, .prose img, .prose figure, .prose .wp-block-embed { max-width: 100%; }
.prose pre { overflow-x: auto; }

/* Hero strony głównej: jasne tło, grafika w zaokrąglonym bloku, nie na całą szerokość */
.hero { background: var(--chalk); color: var(--ink); padding-block: clamp(1rem, 2.5vw, 1.75rem); overflow: visible; }
.hero::before, .hero::after { display: none; }
.hero .hero__grid { position: relative; overflow: hidden; padding: clamp(1.25rem, 3vw, 2.25rem); border-radius: 24px; background: linear-gradient(135deg, #ffffff 0%, #fbf7ee 100%); border: 1px solid #eee6d3; box-shadow: var(--shadow); }
.hero .hero__grid::before { content: ""; position: absolute; right: -40px; top: -60px; width: 90px; height: 260px; background: var(--brand); opacity: .9; transform: skewX(-30deg); border-radius: 0 0 0 26px; pointer-events: none; }
.hero .hero__grid::after { content: ""; position: absolute; right: 70px; bottom: -70px; width: 34px; height: 180px; background: var(--navy); opacity: .9; transform: skewX(-30deg); border-radius: 18px 0 0 0; pointer-events: none; }
.hero .hero__grid > * { position: relative; z-index: 1; }
.hero h1 { color: var(--ink); }
.hero__copy p { color: var(--steel); }
.hero__more { color: var(--ink); }
.hero__more:hover { color: var(--brand-d); }
.hero__more .icon { color: var(--brand-d); }
.board { box-shadow: 0 10px 30px rgba(17,24,37,.08); border: 1px solid var(--line); }
@media (max-width: 899px) { .hero .hero__grid::before, .hero .hero__grid::after { display: none; } }

/* Biblioteka z filmami: jasna sekcja */
.section--ink { background: var(--paper); color: var(--ink); border-block: 1px solid var(--line); }
.section--ink h2, .section--ink .section__more { color: var(--ink); }
.section--ink .card__title a { color: var(--ink); }
.section--ink .card__title a:hover { color: var(--brand-d); }
.section--ink .card__term { color: var(--brand-d); }
.section--ink .lvl { color: var(--steel); }
.section--ink .rack a { background: var(--chalk); border-color: var(--line); color: var(--ink); }
.section--ink .rack a:hover { border-color: var(--ink); }
.section--ink .rack b { color: var(--brand-d); }
.section--ink .lib-search input { border-color: var(--line); }
.section--ink .btn--light { background: var(--navy); color: #fff; }
.section--ink .lp-kicker { color: var(--brand-d); }
.video-card .yt { box-shadow: var(--shadow); }

/* Karty planów obok sekcji, boksy w treści, karta ćwiczenia: białe z akcentem złota */
.plan-mini { background: var(--paper); color: var(--ink); border: 1px solid var(--line); box-shadow: var(--shadow); }
.plan-mini:hover { color: var(--ink); border-color: var(--brand); }
.plan-mini::after { opacity: .9; }
.plan-mini__kicker { color: var(--brand-d); }
.plan-mini .lvl { color: var(--steel); }
.plan-mini__foot { border-top-color: var(--line); }
.plan-mini__go { color: var(--brand-d); }
.plan-box { background: var(--paper); color: var(--ink); border: 1px solid var(--line); box-shadow: var(--shadow), inset 4px 0 0 var(--brand); }
.plan-box p, .plan-box li { color: var(--steel); }
.plan-box h3 { color: var(--ink); }
.plan-box .lvl { color: var(--steel); }
.plan-box::after { opacity: .85; }
.ex-hero__plan { background: var(--paper); color: var(--ink); border: 1px solid var(--line); }
.ex-hero__plan span { color: var(--steel); }
.ex-hero__plan:hover { color: var(--ink); border-color: var(--brand); }
.prose .fm-tip { background: #fbf7ee; color: var(--ink); border: 1px solid #eee6d3; }
.prose .fm-tip p, .prose .fm-tip strong { color: var(--ink); }
.prose .fm-tip a { color: var(--ink); }

/* Stopka: jasna */
.site-footer { background: var(--paper); color: var(--steel); border-top: 1px solid var(--line); margin-top: 0; }
.site-footer h2 { color: var(--ink); }
.site-footer a { color: var(--ink); }
.site-footer a:hover { color: var(--brand-d); }
.site-footer__bottom { border-top-color: var(--line); }
.partners { margin-top: 2rem; background: var(--chalk); }

/* Przyklejony pasek: biały, niski, jedna linia */
.sticky-cta { background: rgba(255,255,255,.97); color: var(--ink); box-shadow: 0 -6px 24px rgba(17,24,37,.12); border-top: 1px solid var(--line); padding-top: .55rem; padding-bottom: calc(.55rem + env(safe-area-inset-bottom)); }
.sticky-cta__text { font-size: .78rem; color: var(--steel); line-height: 1.2; }
.sticky-cta__text strong { font-size: .95rem; font-weight: 600; color: var(--ink); }
.sticky-cta .btn { min-height: 40px; padding: .45rem .9rem; font-size: .9rem; }
.sticky-cta__close { color: var(--steel); }
@media (min-width: 1040px) { .sticky-cta { border: 1px solid var(--line); } }

/* Landing planu: jasny nagłówek, grafika w ramce */
.lp-hero { background: var(--chalk); color: var(--ink); padding-bottom: clamp(1.25rem, 3vw, 2rem); }
.lp-hero::after { display: none; }
.lp-hero .crumbs, .lp-hero .crumbs a { color: var(--steel); }
.lp-hero h1 { color: var(--ink); }
.lp-hero .lvl { color: var(--steel); }
.lp-hero__lead { color: var(--steel); }
.lp-hero__more { color: var(--ink); }
.lp-hero__more:hover { color: var(--brand-d); }
.lp-hero__grid { padding: clamp(1.1rem, 3vw, 2rem); border-radius: 24px; background: linear-gradient(135deg, #ffffff 0%, #fbf7ee 100%); border: 1px solid #eee6d3; box-shadow: var(--shadow); }
.lp-hero__img { box-shadow: 0 14px 34px rgba(17,24,37,.18); border-radius: 18px; }
.lp-price { box-shadow: 0 12px 30px rgba(17,24,37,.14); border: 1px solid var(--line); }
.lp-numbers { background: transparent; border: 0; }
.lp-level { background: var(--paper); color: var(--ink); border: 1px solid var(--line); box-shadow: var(--shadow), inset 0 4px 0 var(--brand); }
.lp-level p { color: var(--steel); }
.lp-level strong, .lp-level__alt { color: var(--ink) !important; }
.lp-level .lvl { color: var(--ink); }
.lp-alt a { background: var(--chalk); color: var(--ink); }
.lp-alt a:hover { background: #fbf7ee; }
.lp-alt .lvl { color: var(--steel); }
.week__day { background: var(--paper); color: var(--ink); border: 1px solid var(--line); box-shadow: var(--shadow); }
.week__day.is-rest { background: var(--chalk); box-shadow: none; }
.lp-shots.section--ink .lp-phones li { background: #fff; border-color: var(--line); box-shadow: 0 16px 36px rgba(17,24,37,.14); }
.lp-band { background: transparent; color: var(--ink); padding: 1rem 0; }
.lp-band::before { display: none; }
.lp-band__in { padding: 1.25rem 1.5rem; border-radius: 20px; background: linear-gradient(135deg, #fbf7ee 0%, #f6edd8 100%); border: 1px solid #eee6d3; }
.lp-band__title { color: var(--ink); }
.lp-band__title small { color: var(--steel); }
.lp-band p { color: var(--steel); }
@media (min-width: 700px) { .lp-band__in { padding-left: 1.75rem; } }
.cmp thead th { background: var(--chalk); color: var(--steel); }

/* Telefony: lżejsze nagłówki i metadane */
@media (max-width: 640px) {
	h1, .entry__head h1, .archive-head h1 { font-size: 1.55rem; line-height: 1.2; }
	.hero h1, .lp-hero h1 { font-size: 1.6rem; }
	h2 { font-size: 1.3rem; }
	.prose { font-size: 1.02rem; line-height: 1.7; }
	.prose h2 { font-size: 1.3rem; }
	.prose h3 { font-size: 1.1rem; }
	.entry__meta { gap: .2rem .9rem; font-size: .82rem; margin-bottom: 1rem; }
	.entry__meta .icon { width: 1rem; height: 1rem; }
	.meta-reviewed { padding: .1rem .5rem; }
	.date--upd { padding: .05rem .45rem; }
	.crumbs { font-size: .8rem; padding-top: .75rem; }
	.crumbs li[aria-current="page"] { display: none; }
	.crumbs li:nth-last-child(2)::after { content: ""; }
	.entry__hero { margin-bottom: 1.25rem; }
	.entry__hero img { border-radius: 14px; }
	.summary { padding: 1rem 1.1rem; }
	.summary p:last-child { font-size: 1rem; }
	.toc { padding: .9rem 1rem; margin: 1.25rem 0; }
	.toc--chips a { font-size: .85rem; padding: .3rem .7rem; }
	.sticky-cta__text > :not(strong) { display: none; }
	.sticky-cta__text { font-size: 0; }
	.sticky-cta__text strong { font-size: .92rem; }
	.lp-hero__grid { padding: 1rem; border-radius: 18px; }
	.lp-hero__img { aspect-ratio: 16 / 9; }
	.lp-price { margin-top: -1.25rem; width: calc(100% - 1.5rem); max-width: none; }
	.lp-price__value { font-size: 1.5rem; }
	.hero .hero__grid { padding: 1rem; border-radius: 18px; }
	.spec { padding: .9rem 1rem; }
	.spec dt { font-size: .78rem; }
	.spec dd { font-size: .95rem; }
}
.hero .wrap.hero__grid { width: calc(100% - 2 * var(--gutter)); max-width: calc(var(--wrap) - 2 * var(--gutter)); }
.stats-bar { background: transparent; border: 0; }
@media (max-width: 640px) {
	h1 { text-wrap: pretty; }
	.lp-hero__cta .btn { display: none; }
	.lp-hero__cta { margin-top: .75rem; }
}

/* 2.1: H1 i opisy kategorii na pełną szerokość */
h1 { text-wrap: pretty; }
.entry__head { max-width: none; }
.archive-head__intro { max-width: none; }
.with-plan--solo { grid-template-columns: 1fr !important; }

/* 2.2: osadzenia YouTube bez dodatkowej ramki z paddingiem WordPressa */
.wp-block-embed .wp-block-embed__wrapper:has(.yt)::before { content: none; display: none; }
.wp-block-embed .wp-block-embed__wrapper:has(.yt) { position: static; }
.prose .wp-block-embed { margin-block: 1.5rem; }
.ex-hero:not(:has(.spec)) { grid-template-columns: minmax(0, 1fr); max-width: 860px; }
.ex-hero:not(:has(.spec)) .ex-hero__side { max-width: 860px; }

/* ===== 2.3: logo -30%, ciaśniejsze bloki ćwiczeń, 3 warianty, siatka 3 × 3 ===== */
.brand img, .custom-logo-link img, .custom-logo { max-height: 18px; }
@media (max-width: 1099px) { .brand img, .custom-logo { max-height: 16px; } }

/* Nagłówek ćwiczenia: film i karta wyrównane, mniejsze odstępy */
.entry__head { padding-top: .25rem; }
.entry__head h1 { margin-bottom: .35rem; }
.entry__meta { margin-bottom: .9rem; }
.ex-hero { margin: 0 0 1.25rem; gap: 1rem; align-items: stretch; }
@media (min-width: 900px) { .ex-hero { grid-template-columns: minmax(0, 1.7fr) minmax(260px, 1fr); } }
.ex-hero__video { align-self: start; }
.ex-hero__side { align-content: start; gap: .75rem; }
.spec { padding: .9rem 1rem; }
.spec dl { gap: .55rem 1rem; }
.spec dt { font-size: .76rem; }
.spec dd { font-size: .92rem; font-weight: 600; line-height: 1.35; }
.ex-hero__plan { padding: .8rem 1rem; }
.ex-hero__plan strong { font-size: 1rem; }
.entry__layout { gap: 2rem; }
.entry__aside { gap: 1rem; }
.entry__aside h2 { font-size: 1.05rem; margin-bottom: .35rem; }
.in-plans { gap: .35rem; }
.in-plans a { padding: .6rem .8rem; font-size: .92rem; font-weight: 600; }
.summary { margin-bottom: 1.25rem; }
.toc { margin: 1.25rem 0; }
.prose > * + * { margin-top: .9em; }
.prose h2 { margin-top: 1.6em; }
.inline-plan { margin: 1.75rem 0; }
.post-nav { margin-top: 1.25rem; }
.author-box { margin-top: 1.75rem; padding-top: 1.25rem; }

/* Warianty: 3 kafle w jednym rzędzie */
.prose ul.fm-variants { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.prose ul.fm-variants > li { padding: .85rem .95rem; font-size: .95rem; line-height: 1.55; }
@media (max-width: 760px) { .prose ul.fm-variants { grid-template-columns: 1fr; } }
.prose ul.fm-muscles, .prose ul.fm-mistakes, .prose ul.fm-checks { gap: .45rem; }
.prose ol.fm-steps { gap: .5rem; }
.prose ol.fm-steps > li { padding: .8rem 1rem .8rem 3.3rem; }
.prose ol.fm-steps > li::before { top: .75rem; }

/* Listy kategorii biblioteki: 3 kolumny */
@media (min-width: 760px) { .archive .with-plan__main .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.archive .card__title { font-size: 1rem; }
.archive .card__body { padding: .8rem .9rem .9rem; gap: .3rem; }
.archive .card__meta { font-size: .82rem; }
.filters { margin-bottom: 1rem; }
.pagination { margin-top: 1.5rem; }

/* Strona główna – biblioteka: kafle sprzętu niższe */
.rack { gap: .5rem; margin-bottom: 0; }
.rack a { min-height: 48px; padding: .6rem .9rem; }
.rack b { font-size: 1.05rem; }
@media (min-width: 900px) { .ex-hero { grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr); } }
h2, h3 { text-wrap: pretty; }

/* ===== 2.4: wizytówka eksperta, boks autora, pasek wiarygodności ===== */
.trust-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: -.35rem 0 1.1rem; }
.trust-badge { display: inline-flex; align-items: center; gap: .4rem; padding: .3rem .8rem; border: 1.5px solid #2b5bd7; border-radius: 999px; color: #2b5bd7; font-size: .76rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; background: #fff; }
.trust-badge .icon { width: 1rem; height: 1rem; }
a.trust-badge:hover { background: #eef3ff; color: #1d44a8; }
.trust-google { display: inline-flex; align-items: center; gap: .45rem; padding: .3rem .85rem; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink); font-size: .82rem; font-weight: 600; text-decoration: none; box-shadow: 0 1px 2px rgba(17,24,37,.05); }
.trust-google:hover { border-color: #c9ced8; color: var(--ink); box-shadow: var(--shadow); }
.trust-google .g-ico { flex: none; }

.author-card { display: grid; grid-template-columns: 88px 1fr; gap: 1.1rem; align-items: start; max-width: 68ch; margin-top: 2rem; padding: 1.25rem; border-radius: var(--r-card); background: var(--paper); border: 1px solid var(--line); box-shadow: var(--shadow); }
.author-card__photo img { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--brand); }
.author-card__kicker { margin: 0; font-size: .72rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--brand-d); }
.author-card__name { font-size: 1.15rem; font-weight: 650; text-decoration: none; color: var(--ink); }
.author-card__job { margin: .1rem 0 .4rem; font-size: .9rem; color: var(--steel); }
.author-card__bio { margin: 0 0 .5rem; font-size: .95rem; color: #3a4356; line-height: 1.55; }
.author-card__creds { list-style: none; margin: 0 0 .6rem; padding: 0; display: flex; flex-wrap: wrap; gap: .3rem .9rem; font-size: .85rem; color: var(--ink); }
.author-card__creds li { display: inline-flex; align-items: center; gap: .3rem; }
.author-card__creds .icon { width: .95rem; height: .95rem; color: #2e8b57; }
.author-card__more { display: inline-flex; align-items: center; gap: .3rem; font-size: .9rem; font-weight: 600; text-decoration: none; }
@media (max-width: 520px) { .author-card { grid-template-columns: 64px 1fr; } .author-card__photo img { width: 64px; height: 64px; } }

.expert { display: grid; gap: 1.5rem; align-items: center; margin: .5rem 0 2rem; padding: clamp(1.1rem, 3vw, 2rem); border-radius: 24px; background: linear-gradient(135deg, #ffffff 0%, #fbf7ee 100%); border: 1px solid #eee6d3; box-shadow: var(--shadow); position: relative; overflow: hidden; }
.expert::after { content: ""; position: absolute; right: -36px; top: -50px; width: 80px; height: 230px; background: var(--brand); opacity: .9; transform: skewX(-30deg); border-radius: 0 0 0 24px; pointer-events: none; }
@media (min-width: 760px) { .expert { grid-template-columns: 280px 1fr; gap: 2.25rem; } }
.expert > * { position: relative; z-index: 1; }
.expert__photo img { width: 100%; max-width: 280px; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 20px; box-shadow: 0 16px 36px rgba(17,24,37,.16); }
.expert h1 { margin: .1rem 0 .3rem; }
.expert__job { margin: 0 0 .6rem; font-weight: 600; color: var(--brand-d); }
.expert__headline { margin: 0 0 1rem; font-size: 1.08rem; color: #3a4356; max-width: 60ch; }
.expert__stats { list-style: none; margin: 0 0 1.1rem; padding: 0; display: flex; flex-wrap: wrap; gap: .75rem 1.75rem; }
.expert__stats strong { display: block; font-size: 1.6rem; font-weight: 700; line-height: 1; color: var(--ink); }
.expert__stats span { font-size: .85rem; color: var(--steel); }
.expert__actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: .9rem; }
.expert__social { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.expert__social a { display: inline-block; padding: .3rem .75rem; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-size: .85rem; font-weight: 600; text-decoration: none; color: var(--ink); }
.expert__social a:hover { border-color: var(--brand); }
.expert-grid { display: grid; gap: 2rem; }
@media (min-width: 1000px) { .expert-grid { grid-template-columns: minmax(0, 1fr) 320px; gap: 2.5rem; } .expert-grid__side { position: sticky; top: 5rem; align-self: start; } }
.expert-grid__main > section + section { margin-top: 2rem; }
.expert-grid__side { display: grid; gap: 1rem; align-content: start; }
.expert-box { padding: 1.1rem 1.15rem; border-radius: var(--r-card); background: var(--paper); border: 1px solid var(--line); box-shadow: var(--shadow); }
.expert-box h2 { font-size: 1rem; margin-bottom: .7rem; }
.expert-creds, .expert-topics { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.expert-creds li { display: grid; grid-template-columns: 1.4rem 1fr; gap: .5rem; align-items: start; font-size: .92rem; }
.expert-creds .icon { color: #2e8b57; width: 1.2rem; height: 1.2rem; }
.expert-creds small { display: block; color: var(--steel); font-size: .8rem; }
.expert-topics a { display: grid; grid-template-columns: 1.3rem 1fr auto; gap: .5rem; align-items: center; text-decoration: none; color: var(--ink); font-size: .92rem; }
.expert-topics .icon { color: var(--brand-d); }
.expert-topics small { color: var(--steel); }
.chip-static { display: inline-block; padding: .3rem .75rem; border-radius: 999px; background: var(--chalk); border: 1px solid var(--line); font-size: .85rem; }
.expert-box--link { display: grid; grid-template-columns: 1.5rem 1fr; gap: .6rem; align-items: center; text-decoration: none; color: var(--ink); }
.expert-box--link .icon { color: #2b5bd7; }
.expert-box--link small { display: block; color: var(--steel); font-size: .82rem; }
.expert-box--link:hover { border-color: #2b5bd7; }
.expert-gallery ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(46%, 200px), 1fr)); gap: .6rem; }
.expert-gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 14px; transition: transform .25s; }
.expert-gallery a:hover img { transform: scale(1.02); }
