/**
 * PoppyOS — moduł sklepowy (v2.30).
 *
 * Trzy niezależne obszary w jednym pliku, bo dzielą tokeny i przyciski:
 *   1. sekcje sprzedażowe strony głównej   (.pos-shop__*)
 *   2. strona produktu-ebooka              (.pos-ebook__*)
 *   3. pasek CTA i koszyk w nagłówku       (.pos-sticky-cta, .pos-cart)
 *
 * Nie jest to nowy język wizualny: promień, cień, uniesienie na hover, wersaliki w małych
 * etykietach i kolory pochodzą z tych samych zmiennych co kafle `.pos-card` i sekcje
 * kompozytora. Nowy jest wyłącznie układ.
 *
 * Dwa tokeny są opcjonalne i ZAWSZE mają fallback: `--poppyos-accent-2` (żółć pomocnicza)
 * i `--poppyos-tint` (ciepłe tło). Generuje je Customizer tylko wtedy, gdy operator je
 * wypełnił — plik musi wyglądać poprawnie także bez nich.
 *
 * Mobile-first, główny próg 900px, drugi 600px — tak jak w home.css.
 *
 * Arkusz ładuje się wyłącznie tam, gdzie coś z powyższych naprawdę się renderuje.
 */

/* ═══════════════════════════════════════════════════════════
   WSPÓLNE: ramy sekcji, nagłówki, przyciski
   ═══════════════════════════════════════════════════════════ */

.pos-shop__section {
	display: block;
}

/*
 * Odstępy między sekcjami na stronie głównej daje kompozytor (`.pos-home > * + *`), więc
 * tam nic nie ustawiamy. Na stronie produktu sekcja stoi samodzielnie i musi zadbać o nie
 * sama. Świadomie bez `:not(.pos-home *)` — złożony selektor w `:not()` to Selectors 4
 * i w starszych silnikach unieważnia całą regułę.
 */
.pos-ebook .pos-shop__section {
	margin: 3rem 0;
}

.pos-shop__eyebrow {
	font-family: var(--wp--preset--font-family--mono, inherit);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--poppyos-accent-text, var(--poppyos-accent));
	margin: 0 0 0.5rem;
}

.pos-shop__intro {
	max-width: 60ch;
	color: var(--poppyos-muted);
	margin: 0 0 1.5rem;
}

.pos-shop__btn,
.pos-ebook__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	/* WCAG 2.5.8 — cel dotykowy min. 44px, tak jak reszta interfejsu motywu. */
	min-height: 44px;
	padding: 0.75rem 1.75rem;
	border: 2px solid transparent;
	border-radius: 9999px;
	background: var(--poppyos-accent);
	color: #fff;
	font-family: var(--wp--preset--font-family--display, inherit);
	font-weight: 700;
	font-size: 0.95rem;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	transition: background var(--poppyos-transition), transform var(--poppyos-transition);
}

.pos-shop__btn:hover,
.pos-ebook__cta:hover {
	background: var(--poppyos-accent-hover);
	color: #fff;
	transform: translateY(-1px);
}

.pos-shop__btn:focus-visible,
.pos-ebook__cta:focus-visible {
	outline: 3px solid var(--poppyos-accent-2, var(--poppyos-accent));
	outline-offset: 2px;
}

.pos-shop__btn--ghost,
.pos-ebook__cta--alt {
	background: transparent;
	color: var(--poppyos-ink);
	border-color: var(--poppyos-border);
}

.pos-shop__btn--ghost:hover,
.pos-ebook__cta--alt:hover {
	background: var(--poppyos-surface);
	color: var(--poppyos-ink);
}

.pos-shop__btn--small {
	padding: 0.5rem 1.1rem;
	font-size: 0.85rem;
}

/* Ruch wyłączony tam, gdzie użytkownik o to poprosił. */
@media (prefers-reduced-motion: reduce) {
	.pos-shop__btn,
	.pos-ebook__cta,
	.pos-shop__card,
	.pos-sticky-cta {
		transition: none;
	}

	.pos-shop__btn:hover,
	.pos-ebook__cta:hover {
		transform: none;
	}
}

/* ═══════════════════════════════════════════════════════════
   HERO PRODUKTOWY
   ═══════════════════════════════════════════════════════════ */

.pos-shop__hero {
	display: grid;
	gap: 2rem;
	align-items: center;
	padding: 2rem 0 0;
}

.pos-shop__hero-title {
	font-family: var(--wp--preset--font-family--display, inherit);
	font-size: clamp(1.9rem, 1.2rem + 3vw, 3.25rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--poppyos-ink);
	margin: 0 0 0.75rem;
	text-wrap: balance;
}

.pos-shop__hero-text {
	max-width: 56ch;
	font-size: 1.05rem;
	color: var(--poppyos-muted);
	margin: 0 0 1.5rem;
}

.pos-shop__hero-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0 0 0.75rem;
}

.pos-shop__micro {
	font-size: 0.8rem;
	color: var(--poppyos-muted);
	margin: 0;
}

.pos-shop__hero-media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--poppyos-radius-lg);
}

@media (min-width: 900px) {
	.pos-shop__hero {
		grid-template-columns: 1.15fr 1fr;
		gap: 3rem;
	}
}

/* ═══════════════════════════════════════════════════════════
   PAS ZAUFANIA
   ═══════════════════════════════════════════════════════════ */

.pos-shop__trust {
	background: var(--poppyos-tint, var(--poppyos-surface));
	border-radius: var(--poppyos-radius-lg);
	padding: 1.5rem;
}

.pos-shop__trust-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pos-shop__trust-list li {
	margin: 0;
}

.pos-shop__trust-list b {
	display: block;
	font-family: var(--wp--preset--font-family--display, inherit);
	font-size: 1.15rem;
	line-height: 1.2;
	color: var(--poppyos-ink);
}

.pos-shop__trust-list span {
	display: block;
	font-size: 0.85rem;
	line-height: 1.4;
	color: var(--poppyos-muted);
	margin-top: 0.2rem;
}

.pos-shop__pay {
	margin-top: 1.25rem;
}

.pos-shop__pay img {
	display: block;
	max-width: 520px;
	height: auto;
	margin: 0 auto;
}

.pos-shop__trust-note {
	font-size: 0.8rem;
	color: var(--poppyos-muted);
	text-align: center;
	margin: 0.75rem 0 0;
}

@media (min-width: 900px) {
	.pos-shop__trust-list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* ═══════════════════════════════════════════════════════════
   SIATKA PRODUKTÓW I PAKIETY
   ═══════════════════════════════════════════════════════════ */

.pos-shop__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

.pos-shop__packs {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	margin-top: 1.5rem;
}

.pos-shop__card {
	display: flex;
	flex-direction: column;
	background: var(--poppyos-bg);
	border: 1px solid var(--poppyos-border);
	border-radius: var(--poppyos-radius-lg);
	overflow: hidden;
	transition: box-shadow var(--poppyos-transition), transform var(--poppyos-transition);
}

.pos-shop__card:hover {
	box-shadow: var(--poppyos-shadow-lg);
	transform: translateY(-2px);
}

.pos-shop__card-media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.pos-shop__card-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 1.1rem 1.25rem 1.25rem;
}

.pos-shop__card-title {
	font-family: var(--wp--preset--font-family--display, inherit);
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 0.4rem;
}

.pos-shop__card-title a {
	color: var(--poppyos-ink);
	text-decoration: none;
}

.pos-shop__card-title a:hover {
	color: var(--poppyos-accent-text, var(--poppyos-accent));
}

.pos-shop__card-who {
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--poppyos-muted);
	margin: 0 0 1rem;
}

.pos-shop__card-foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	/* Stopka karty przyklejona do dna, żeby przyciski w rzędzie stały w jednej linii. */
	margin-top: auto;
	padding-top: 0.75rem;
	border-top: 1px solid var(--poppyos-border);
}

.pos-shop__price {
	font-family: var(--wp--preset--font-family--display, inherit);
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--poppyos-ink);
}

.pos-shop__price del {
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--poppyos-muted);
	margin-right: 0.35em;
}

.pos-shop__card--pack {
	border-width: 2px;
	border-color: var(--poppyos-accent);
	background: var(--poppyos-tint, var(--poppyos-surface));
}

@media (min-width: 600px) {
	.pos-shop__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pos-shop__packs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 900px) {
	.pos-shop__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.pos-shop__packs {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.pos-shop__card--pack {
		flex-direction: row;
	}

	.pos-shop__card--pack .pos-shop__card-media {
		flex: 0 0 40%;
	}

	.pos-shop__card--pack .pos-shop__card-media img {
		height: 100%;
		aspect-ratio: auto;
	}
}

/* ═══════════════════════════════════════════════════════════
   JAK TO DZIAŁA
   ═══════════════════════════════════════════════════════════ */

.pos-shop__steps-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	list-style: none;
	counter-reset: pos-step;
	margin: 0;
	padding: 0;
}

.pos-shop__steps-list li {
	counter-increment: pos-step;
	position: relative;
	padding-left: 3rem;
	margin: 0;
}

/*
 * Numer z licznika CSS, nie z treści: kolejność kroków wynika z układu, a czytnik ekranu
 * i tak dostaje listę uporządkowaną.
 */
.pos-shop__steps-list li::before {
	content: counter( pos-step );
	position: absolute;
	left: 0;
	top: 0;
	width: 2.25rem;
	height: 2.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--poppyos-accent-2, var(--poppyos-accent-light));
	color: var(--poppyos-ink);
	font-family: var(--wp--preset--font-family--display, inherit);
	font-weight: 800;
}

.pos-shop__steps-list b {
	display: block;
	font-family: var(--wp--preset--font-family--display, inherit);
	font-size: 1.05rem;
	color: var(--poppyos-ink);
}

.pos-shop__steps-list span {
	display: block;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--poppyos-muted);
	margin-top: 0.2rem;
}

@media (min-width: 900px) {
	.pos-shop__steps-list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* ═══════════════════════════════════════════════════════════
   OPINIE
   ═══════════════════════════════════════════════════════════ */

.pos-shop__revs {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

.pos-shop__rev {
	display: flex;
	flex-direction: column;
	background: var(--poppyos-bg);
	border: 1px solid var(--poppyos-border);
	border-radius: var(--poppyos-radius-lg);
	padding: 1.25rem;
}

.pos-shop__rev-media {
	margin: -1.25rem -1.25rem 1rem;
}

.pos-shop__rev-media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--poppyos-radius-lg) var(--poppyos-radius-lg) 0 0;
}

.pos-shop__rev-stars {
	color: var(--poppyos-accent-2-text, var(--poppyos-accent));
	letter-spacing: 0.1em;
	margin: 0 0 0.5rem;
}

.pos-shop__rev-text p {
	margin: 0 0 0.6rem;
	font-size: 0.95rem;
	line-height: 1.6;
}

.pos-shop__rev-who {
	margin: auto 0 0;
	padding-top: 0.6rem;
	font-family: var(--wp--preset--font-family--mono, inherit);
	font-size: 0.7rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--poppyos-muted);
}

@media (min-width: 600px) {
	.pos-shop__revs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 900px) {
	.pos-shop__revs {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* ═══════════════════════════════════════════════════════════
   ZAPIS NA LISTĘ
   ═══════════════════════════════════════════════════════════ */

.pos-optin {
	background: var(--poppyos-tint, var(--poppyos-surface));
	border-radius: var(--poppyos-radius-lg);
	padding: 1.75rem 1.5rem;
}

.pos-optin__title {
	font-family: var(--wp--preset--font-family--display, inherit);
	font-size: clamp(1.35rem, 1.1rem + 1vw, 1.9rem);
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 0.5rem;
	color: var(--poppyos-ink);
}

.pos-optin__text {
	max-width: 56ch;
	color: var(--poppyos-muted);
	margin: 0 0 1.25rem;
}

.pos-optin__form {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.pos-optin__form input[type="email"],
.pos-optin__form select {
	width: 100%;
	min-height: 44px;
	padding: 0.6rem 0.9rem;
	border: 1px solid var(--poppyos-border);
	border-radius: 9999px;
	background: var(--poppyos-bg);
	font: inherit;
	color: var(--poppyos-ink);
}

.pos-optin__button {
	min-height: 44px;
	padding: 0.75rem 1.75rem;
	border: 0;
	border-radius: 9999px;
	background: var(--poppyos-ink);
	color: #fff;
	font-family: var(--wp--preset--font-family--display, inherit);
	font-weight: 700;
	cursor: pointer;
}

.pos-optin__button:hover {
	background: var(--poppyos-accent-hover);
}

.pos-optin__note {
	display: block;
	font-size: 0.75rem;
	line-height: 1.5;
	color: var(--poppyos-muted);
}

/*
 * Honeypot. Ukryty tak, żeby bot go nie rozpoznał po `display:none` w atrybucie, ale
 * jednocześnie nie zajmował miejsca i nie dawał się złapać tabulatorem (tabindex="-1"
 * jest w znaczniku).
 */
.pos-optin__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.pos-optin__status {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	border-radius: var(--poppyos-radius-sm);
	font-size: 0.9rem;
}

.pos-optin__status--ok {
	background: rgba(22, 163, 74, 0.1);
	color: #15803d;
}

.pos-optin__status--error {
	background: rgba(220, 38, 38, 0.08);
	color: #b91c1c;
}

@media (min-width: 600px) {
	.pos-optin__form {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
	}

	.pos-optin__form select,
	.pos-optin__form input[type="email"] {
		flex: 1 1 240px;
		width: auto;
	}

	.pos-optin__note {
		flex: 1 1 100%;
	}
}

/* ═══════════════════════════════════════════════════════════
   FAQ (akordeon)
   ═══════════════════════════════════════════════════════════ */

.pos-shop__faq-list,
.pos-ebook__faq {
	border-top: 1px solid var(--poppyos-border);
}

.pos-shop__faq-list details,
.pos-ebook__faq details {
	border-bottom: 1px solid var(--poppyos-border);
}

.pos-shop__faq-list summary,
.pos-ebook__faq summary {
	/* min-height zamiast padding-only: cel dotykowy 44px także przy jednowierszowym pytaniu. */
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0.9rem 2rem 0.9rem 0;
	position: relative;
	font-family: var(--wp--preset--font-family--display, inherit);
	font-weight: 600;
	color: var(--poppyos-ink);
	cursor: pointer;
	list-style: none;
}

.pos-shop__faq-list summary::-webkit-details-marker,
.pos-ebook__faq summary::-webkit-details-marker {
	display: none;
}

.pos-shop__faq-list summary::after,
.pos-ebook__faq summary::after {
	content: "+";
	position: absolute;
	right: 0.25rem;
	font-size: 1.25rem;
	line-height: 1;
	color: var(--poppyos-accent-text, var(--poppyos-accent));
}

.pos-shop__faq-list details[open] summary::after,
.pos-ebook__faq details[open] summary::after {
	content: "−";
}

.pos-shop__faq-list details > div,
.pos-ebook__faq details > div {
	padding: 0 0 1rem;
	color: var(--poppyos-muted);
}

.pos-shop__faq-list details > div p,
.pos-ebook__faq details > div p {
	margin: 0 0 0.6rem;
}

/* ═══════════════════════════════════════════════════════════
   STRONA PRODUKTU (EBOOK)
   ═══════════════════════════════════════════════════════════ */

.pos-ebook {
	display: block;
	max-width: 1200px;
	margin: 0 auto;
}

/*
 * WooCommerce zawsze drukuje `<div class="summary entry-summary">`, a my renderujemy całą
 * treść wcześniej — pusty kontener nie może zostawiać dziury w układzie.
 */
.pos-shop-product .summary:empty,
.pos-shop-product .entry-summary:empty {
	display: none;
}

.pos-ebook__hero {
	display: grid;
	gap: 2rem;
	align-items: start;
	margin-bottom: 3rem;
}

.pos-ebook__cover {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--poppyos-radius-lg);
	box-shadow: var(--poppyos-shadow-lg);
}

.pos-ebook__title {
	font-family: var(--wp--preset--font-family--display, inherit);
	font-size: clamp(1.8rem, 1.2rem + 2.5vw, 2.9rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.02em;
	margin: 0 0 0.75rem;
	text-wrap: balance;
}

.pos-ebook__lead {
	color: var(--poppyos-muted);
	margin-bottom: 1.25rem;
}

.pos-ebook__lead p {
	margin: 0 0 0.6rem;
}

.pos-ebook__bullets {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
}

.pos-ebook__bullets li {
	position: relative;
	padding-left: 1.6rem;
	margin: 0 0 0.6rem;
	line-height: 1.55;
}

.pos-ebook__bullets li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 50%;
	background: var(--poppyos-accent-2, var(--poppyos-accent));
}

.pos-ebook__buy {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	padding: 1.25rem;
	border: 1px solid var(--poppyos-border);
	border-radius: var(--poppyos-radius-lg);
	background: var(--poppyos-tint, var(--poppyos-surface));
}

.pos-ebook__price {
	font-family: var(--wp--preset--font-family--display, inherit);
	font-size: 1.75rem;
	font-weight: 800;
	line-height: 1.1;
	margin: 0;
	color: var(--poppyos-ink);
}

.pos-ebook__price small {
	display: block;
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--poppyos-muted);
	margin-top: 0.2rem;
}

.pos-ebook__micro {
	flex: 1 1 100%;
	font-size: 0.8rem;
	color: var(--poppyos-muted);
	margin: 0;
}

.pos-ebook__badge {
	margin: 1rem 0 0;
	font-size: 0.9rem;
}

.pos-ebook__badge a {
	color: var(--poppyos-accent-text, var(--poppyos-accent));
}

.pos-ebook__section {
	margin: 3rem 0;
}

.pos-ebook__h2 {
	font-family: var(--wp--preset--font-family--display, inherit);
	font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem);
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 1.25rem;
}

.pos-ebook__two {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

.pos-ebook__card {
	border: 1px solid var(--poppyos-border);
	border-radius: var(--poppyos-radius-lg);
	padding: 1.5rem;
	background: var(--poppyos-bg);
}

.pos-ebook__card h3 {
	font-family: var(--wp--preset--font-family--display, inherit);
	font-size: 1.15rem;
	margin: 0 0 0.75rem;
}

.pos-ebook__card ul {
	margin: 0;
	padding-left: 1.2rem;
}

.pos-ebook__card li {
	margin-bottom: 0.5rem;
	line-height: 1.55;
}

/*
 * Zielony i czerwony akcent są tu SEMANTYCZNE („dla kogo" / „nie dla kogo"), nie brandowe —
 * dlatego nie biorą się z akcentu witryny, tylko z własnych, stałych wartości.
 */
.pos-ebook__card--yes {
	border-color: rgba(123, 174, 98, 0.5);
	background: rgba(123, 174, 98, 0.07);
}

.pos-ebook__card--no {
	border-color: rgba(220, 38, 38, 0.25);
	background: rgba(220, 38, 38, 0.04);
}

.pos-ebook__card--best {
	border-width: 2px;
	border-color: var(--poppyos-accent);
	background: var(--poppyos-tint, var(--poppyos-surface));
}

.pos-ebook__toc {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
	border-top: 1px solid var(--poppyos-border);
}

.pos-ebook__toc li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.25rem 0.75rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--poppyos-border);
	margin: 0;
}

.pos-ebook__toc strong {
	font-family: var(--wp--preset--font-family--display, inherit);
	color: var(--poppyos-ink);
}

.pos-ebook__toc span {
	flex: 1 1 12rem;
	font-size: 0.9rem;
	color: var(--poppyos-muted);
}

.pos-ebook__toc em {
	font-family: var(--wp--preset--font-family--mono, inherit);
	font-size: 0.75rem;
	font-style: normal;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--poppyos-muted);
}

.pos-ebook__pages {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.pos-ebook__page {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--poppyos-border);
	border-radius: var(--poppyos-radius-md);
}

.pos-ebook__std {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

.pos-ebook__std > div {
	border-left: 3px solid var(--poppyos-accent-2, var(--poppyos-accent));
	padding-left: 0.9rem;
}

.pos-ebook__std b {
	display: block;
	font-family: var(--wp--preset--font-family--display, inherit);
	color: var(--poppyos-ink);
}

.pos-ebook__std span {
	display: block;
	font-size: 0.85rem;
	line-height: 1.5;
	color: var(--poppyos-muted);
	margin-top: 0.2rem;
}

.pos-ebook__recipe {
	border: 1px solid var(--poppyos-border);
	border-radius: var(--poppyos-radius-lg);
	padding: 1.5rem;
}

.pos-ebook__recipe h3 {
	margin-top: 0;
}

.pos-ebook__guarantee {
	margin: 1.25rem 0 0;
	font-size: 0.9rem;
	color: var(--poppyos-muted);
}

@media (min-width: 600px) {
	.pos-ebook__pages {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.pos-ebook__std {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 900px) {
	.pos-ebook__hero {
		grid-template-columns: minmax(0, 380px) 1fr;
		gap: 3rem;
	}

	.pos-ebook__two {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pos-ebook__std {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* ═══════════════════════════════════════════════════════════
   PASEK CTA NA TELEFONIE
   ═══════════════════════════════════════════════════════════ */

.pos-sticky-cta {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9980;
	background: var(--poppyos-bg);
	border-top: 1px solid var(--poppyos-border);
	box-shadow: 0 -2px 12px rgba(15, 23, 42, 0.12);
	padding: 0.5rem 1rem calc(0.5rem + var(--poppyos-safe-bottom, 0px));
	transform: translateY(100%);
	transition: transform 0.2s ease;
}

.pos-sticky-cta.is-visible {
	transform: translateY(0);
}

.pos-sticky-cta__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	max-width: 720px;
	margin: 0 auto;
}

.pos-sticky-cta__note {
	font-family: var(--wp--preset--font-family--display, inherit);
	font-weight: 800;
	font-size: 1.05rem;
	color: var(--poppyos-ink);
}

.pos-sticky-cta__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.6rem 1.4rem;
	border-radius: 9999px;
	background: var(--poppyos-accent);
	color: #fff;
	font-family: var(--wp--preset--font-family--display, inherit);
	font-weight: 700;
	text-decoration: none !important;
	white-space: nowrap;
}

.pos-sticky-cta__button:hover {
	background: var(--poppyos-accent-hover);
	color: #fff;
}

/* Pasek podnosi elementy pływające motywu, tak jak robi to anchor modułu reklam. */
body.has-pos-sticky-cta .pos-back-to-top {
	bottom: calc(2rem + 72px);
}

body.has-pos-sticky-cta .pos-font-switcher {
	bottom: calc(5rem + 72px);
}

/*
 * Na desktopie paska nie ma. Cała jego racja bytu to kciuk przy dolnej krawędzi telefonu;
 * na szerokim ekranie przycisk zakupu jest widoczny w hero i w sekcji porównania.
 */
@media (min-width: 900px) {
	.pos-sticky-cta {
		display: none;
	}

	body.has-pos-sticky-cta .pos-back-to-top,
	body.has-pos-sticky-cta .pos-font-switcher {
		bottom: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pos-sticky-cta {
		transition: none;
	}
}

/* ═══════════════════════════════════════════════════════════
   KOSZYK W NAGŁÓWKU
   ═══════════════════════════════════════════════════════════ */

.pos-cart {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex: 0 0 auto;
	color: var(--pos-header-icon, var(--poppyos-ink));
	text-decoration: none !important;
}

.pos-cart:hover {
	color: var(--poppyos-accent);
}

.pos-cart__count {
	position: absolute;
	top: 4px;
	right: 2px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 9999px;
	background: var(--poppyos-accent);
	color: #fff;
	font-family: var(--wp--preset--font-family--mono, inherit);
	font-size: 0.65rem;
	font-weight: 700;
	line-height: 1;
}

/* Pusty koszyk nie potrzebuje czerwonej kropki z zerem. */
.pos-cart__count.is-empty {
	display: none;
}
