/* =========================================================
	   NURSE NOTES, strona glowna (uklad z prototypu Ewolucja v2)
	   Wszystko zamkniete w .nn-sklep, zeby nie zderzac sie
	   z motywem nadrzednym ani z WooCommerce.
	   ========================================================= */

	/* 1. TOKENY */
	.nn-sklep {
		--ink: #49372f;
		--muted: #806a61;
		--coral: #ee6b73;
		--coral-dark: #a92f47;
		--cream: #fbf6f2;
		--paper: #fffdfb;
		--blush: #f3d9df;
		--sky: #dce7ef;
		--peach: #f8e6d8;
		--sage: #dde7dd;
		--lilac: #ded2eb;
		--butter: #efe7d8;
		--line: #e8dcd5;
		--shadow: 0 22px 60px rgba(72, 49, 40, .12);
		--serif: Georgia, "Times New Roman", serif;
		--sans: Arial, Helvetica, sans-serif;
	}
	/* Stare tokeny tylko dla blokow przeniesionych bez zmian,
	   zeby karuzela i formularz wygladaly dokladnie jak wczesniej. */
	.nn-carousel {
		--cream: #fffaf7;
		--cream2: #f8eee8;
		--white: #fff;
		--rose2: #f7e1e6;
		--beige: #ead8ca;
		--brown: #4a3932;
		--brown2: #7b6157;
		--gold: #c2a36b;
	}

	/* 2. BAZA */
	html { scroll-behavior: smooth; }
	html, body { overflow-x: clip; }
	body.nn-sklep {
		margin: 0; background: var(--paper); color: var(--ink);
		font-family: var(--sans); line-height: 1.6;
		-webkit-font-smoothing: antialiased;
	}
	.nn-sklep * { box-sizing: border-box; }
	.nn-sklep img { display: block; max-width: 100%; height: auto; }
	.nn-sklep a { color: inherit; text-decoration: none; }
	.nn-sklep button { font: inherit; }
	.nn-sklep p { margin: 0; }
	.nn-sklep figcaption { font-style: normal; }
	.nn-sklep h1, .nn-sklep h2, .nn-sklep h3 { font-family: var(--serif); font-weight: 500; line-height: 1.05; margin: 0; color: var(--ink); }
	.nn-sklep h1 { font-size: clamp(2.8rem, 5.4vw, 5.2rem); letter-spacing: -.045em; }
	.nn-sklep h2 { font-size: clamp(2rem, 3.8vw, 3.6rem); letter-spacing: -.035em; }
	.nn-sklep h3 { font-size: 1.5rem; }
	.nn-sklep [id] { scroll-margin-top: 96px; }
	.nn-shell { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
	.nn-skip { position: fixed; left: 16px; top: -80px; z-index: 200; background: #fff; color: var(--ink); padding: 12px 16px; border: 1px solid var(--line); font-weight: 800; }
	.nn-skip:focus { top: 16px; }
	.nn-eyebrow { margin: 0 0 12px; color: #a92f47; font-size: .75rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
	.nn-eyebrow::before { content: ''; display: inline-block; width: 24px; height: 1px; background: var(--coral); margin: 0 10px 4px 0; }
	.nn-muted { color: var(--muted); }
	.nn-section { padding: 74px 0; }
	.nn-section-head { display: flex; justify-content: space-between; gap: 48px; align-items: end; margin-bottom: 36px; }
	.nn-section-head > div { max-width: 720px; }
	.nn-section-head > p { max-width: 390px; color: var(--muted); }
	.nn-section-head.nn-center { display: block; text-align: center; max-width: 780px; margin: 0 auto 38px; }
	.nn-section-head.nn-center > p { margin: 16px auto 0; }
	.nn-card-type { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); font-weight: 800; }
	.nn-badge { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; background: #fff; color: var(--ink); font-size: .66rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }

	/* 3. PRZYCISKI (z .nn-sklep, bo .nn-sklep a { color: inherit } wygrywa z sama klasa) */
	.nn-sklep .nn-btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 0 26px; background: var(--coral); color: #fff; font-weight: 800; font-size: .95rem; border: 0; cursor: pointer; transition: background .2s ease, transform .2s ease; text-align: center; }
	.nn-sklep .nn-btn:hover { background: var(--coral-dark); transform: translateY(-2px); }
	.nn-sklep .nn-btn.nn-dark { background: var(--ink); color: #fff; }
	.nn-sklep .nn-btn.nn-dark:hover { background: #32241f; }
	.nn-sklep .nn-text-link { display: inline-flex; gap: 10px; font-weight: 800; border-bottom: 1px solid currentColor; }
	.nn-check { list-style: none; padding: 0; margin: 0 0 22px; }
	.nn-check li { padding: 9px 0; border-bottom: 1px solid var(--line); }
	.nn-check li::before { content: '✓'; color: var(--coral); font-weight: 900; margin-right: 12px; }

	/* 4. TOPBAR */
	.nn-sklep .topbar { background: var(--ink); color: #fff; text-align: center; padding: 8px 16px; font-size: .78rem; letter-spacing: .04em; }

	/* 5. NAGLOWEK I NAWIGACJA */
	.nn-header { position: sticky; top: 0; z-index: 50; background: rgba(255, 253, 251, .94); border-bottom: 1px solid rgba(232, 220, 213, .7); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); transition: background-color .2s ease, box-shadow .2s ease; }
	.nn-header.is-stuck { background: var(--paper); border-bottom-color: var(--line); box-shadow: 0 10px 30px rgba(72, 49, 40, .10); }
	.nn-header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
	.nn-logo { display: inline-flex; align-items: center; line-height: 0; flex: 0 0 auto; }
	.nn-logo img { width: 210px; max-width: 100%; height: auto; }
	.nn-nav-wrap { display: flex; align-items: center; gap: 10px; }
	.nn-nav { display: flex; align-items: center; gap: 26px; font-size: .86rem; font-weight: 700; }
	.nn-nav a:hover { color: var(--coral-dark); }
	.nn-nav .nn-nav-kontakt { display: none; }
	.nn-sklep .nn-cart { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: 0 0 auto; color: var(--ink); transition: color .2s ease, background .2s ease; }
	.nn-sklep .nn-cart:hover { color: var(--coral-dark); background: var(--cream); }
	.nn-cart svg { width: 22px; height: 22px; display: block; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
	.nn-cart-count { position: absolute; top: 3px; right: 1px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--coral); color: #fff; font-family: var(--sans); font-size: 11px; font-weight: 800; line-height: 18px; text-align: center; box-shadow: 0 2px 6px rgba(72, 49, 40, .2); pointer-events: none; }
	.nn-cart-count.is-empty { display: none; }
	.nn-burger { display: none; width: 44px; height: 44px; flex: 0 0 auto; align-items: center; justify-content: center; background: transparent; border: 1px solid var(--line); color: var(--ink); cursor: pointer; padding: 0; }
	.nn-burger span { display: block; width: 20px; height: 2px; background: currentColor; position: relative; }
	.nn-burger span::before, .nn-burger span::after { content: ''; position: absolute; left: 0; width: 20px; height: 2px; background: currentColor; }
	.nn-burger span::before { top: -7px; }
	.nn-burger span::after { top: 7px; }

	/* 6. HERO */
	.nn-hero { position: relative; overflow: hidden; background: linear-gradient(135deg, #fffaf7 0, #f9eee9 62%, #eee3f1 100%); padding: 72px 0 0; }
	.nn-hero::after { content: ''; position: absolute; width: 460px; height: 460px; border-radius: 50%; right: -160px; top: -220px; background: rgba(222, 210, 235, .54); }
	.nn-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 60px; }
	.nn-hero-copy { padding-bottom: 70px; }
	.nn-hero h1 em { display: block; color: var(--coral); font-style: italic; }
	.nn-hero-lead { max-width: 590px; margin: 24px 0; color: var(--muted); font-size: 1.1rem; }
	.nn-hero-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
	.nn-trust { display: flex; flex-wrap: wrap; gap: 12px 22px; margin: 28px 0 0; padding: 0; list-style: none; font-size: .78rem; color: var(--muted); }
	.nn-trust span { color: var(--coral); font-weight: 900; }
	.nn-hero-visual { min-height: 520px; display: grid; place-items: center; position: relative; }
	.nn-stage { width: min(480px, 92%); aspect-ratio: 1 / 1.08; border: 1px solid rgba(255, 255, 255, .9); border-radius: 180px 180px 30px 30px; background: rgba(255, 255, 255, .68); box-shadow: var(--shadow); position: relative; }
	.nn-stage-main { position: absolute; width: 86%; left: 7%; top: 17%; filter: drop-shadow(0 20px 16px rgba(72, 49, 40, .2)); }
	.nn-hero-note { position: absolute; background: #fff; padding: 10px 14px; box-shadow: 0 12px 30px rgba(73, 55, 47, .1); font-family: var(--serif); z-index: 2; font-size: .9rem; }
	.nn-hero-note b { color: var(--coral); margin-right: 6px; }
	.nn-hero-note.one { right: -10px; top: 18%; }
	.nn-hero-note.two { left: -12px; top: 37%; }
	.nn-orb { position: absolute; right: 6%; bottom: 3%; width: 125px; height: 125px; border-radius: 50%; background: var(--ink); color: #fff; display: grid; place-content: center; text-align: center; }
	.nn-orb b { font: 700 2rem var(--serif); }
	.nn-orb small { max-width: 90px; line-height: 1.15; text-transform: uppercase; font-size: .57rem; letter-spacing: .08em; }

	/* 7. SZYBKI WYBOR */
	.nn-paths { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(6, 1fr); background: #fff; box-shadow: var(--shadow); }
	.nn-paths a { display: grid; grid-column: span 2; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 20px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background .18s ease; }
	.nn-paths a:hover { background: var(--cream); }
	.nn-paths a:nth-child(n+7) { border-bottom: 0; }
	.nn-paths a:nth-child(3n) { border-right: 0; }
	/* siodma pozycja zostaje sama w rzedzie, wiec bierze cala szerokosc */
	.nn-paths a:nth-child(7) { grid-column: span 6; border-right: 0; }
	.nn-paths span { font: 500 1.5rem var(--serif); color: #a58d82; transition: color .18s ease; }
	.nn-paths small { display: block; color: var(--muted); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 2px; }
	.nn-paths b { font-family: var(--serif); font-size: 1.05rem; line-height: 1.2; display: block; font-weight: 500; }
	.nn-paths i { color: var(--ink); font-style: normal; transition: color .18s ease; }
	.nn-paths a:hover span, .nn-paths a:hover i, .nn-paths a:focus-visible span, .nn-paths a:focus-visible i { color: var(--coral); }

	/* 8. DOBIERZ MATERIAL */
	.nn-guide { background: #fff; }
	.nn-guide-grid { display: grid; grid-template-columns: .72fr 1.28fr; min-height: 500px; border: 1px solid var(--line); background: var(--cream); }
	.nn-guide-tabs { padding: 18px; }
	.nn-guide-tab { display: grid; width: 100%; grid-template-columns: 48px 1fr; text-align: left; border: 0; border-bottom: 1px solid var(--line); background: transparent; padding: 18px; color: var(--ink); cursor: pointer; }
	.nn-guide-tab span { font: 500 1.3rem var(--serif); color: #a58d82; }
	.nn-guide-tab b { font: 500 1.2rem var(--serif); }
	.nn-guide-tab small { display: block; color: var(--muted); }
	.nn-guide-tab.is-active { background: #fff; box-shadow: 0 10px 28px rgba(72, 49, 40, .06); }
	.nn-guide-tab.is-active span { color: var(--coral); }
	.nn-guide-result { display: grid; grid-template-columns: 1.05fr 1.15fr; background: #fff; }
	.nn-guide-media { display: grid; place-items: center; background: var(--lilac); position: relative; padding: 26px; }
	/* Stala wysokosc okladki. Bez tego obraz rosl razem z dlugoscia tekstu
	   w prawej kolumnie i kazdy material mial inna wielkosc.
	   object-fit: contain miesci packshot poziomy bez znieksztalcenia. */
	.nn-guide-media img { height: 400px; width: auto; max-width: 92%; object-fit: contain; filter: drop-shadow(0 20px 20px rgba(72, 49, 40, .18)); }
	.nn-guide-copy { padding: 44px 38px; display: flex; flex-direction: column; justify-content: center; }
	.nn-guide-copy h3 { font-size: 2.1rem; }
	.nn-guide-copy > p:not(.nn-eyebrow) { margin: 16px 0; color: var(--muted); }
	.nn-choice-price { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid var(--line); padding-top: 20px; }
	.nn-choice-price strong { font: 500 2.2rem var(--serif); }

	/* 9. NAJCZESCIEJ WYBIERANE */
	.nn-best { background: var(--cream); }
	.nn-best-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
	.nn-best-card { display: grid; grid-template-columns: 1fr; background: #fff; border: 1px solid var(--line); overflow: hidden; }
	/* Wyroznienie i kolory tla ida z klas, nie z pozycji w HTML.
	   Dzieki temu kolejnosc kart mozna zmieniac bez psucia wygladu. */
	.nn-best-card.nn-best-accent { border-color: #e6c9d3; box-shadow: 0 16px 38px rgba(72, 49, 40, .11); }
	.nn-best-media { display: grid; place-items: center; position: relative; background: var(--sage); min-height: 310px; padding: 58px 24px 24px; }
	.nn-best-media.lilac { background: var(--lilac); }
	.nn-best-media.blush { background: var(--blush); }
	.nn-best-media img { max-height: 230px; width: auto; filter: drop-shadow(0 18px 16px rgba(72, 49, 40, .16)); }
	.nn-best-media .nn-badge { position: absolute; left: 16px; top: 16px; z-index: 3; box-shadow: 0 4px 14px rgba(72, 49, 40, .12); }
	.nn-best-copy { padding: 26px; display: flex; flex-direction: column; justify-content: center; }
	.nn-best-copy h3 { font-size: 1.5rem; margin: 6px 0 0; }
	.nn-best-copy > p { margin: 12px 0; color: var(--muted); font-size: .9rem; }
	.nn-best-copy ul { padding-left: 18px; margin: 0 0 18px; color: var(--muted); font-size: .85rem; }
	.nn-best-bottom { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-top: 1px solid var(--line); padding-top: 18px; margin-top: auto; }
	.nn-best-bottom strong { font: 500 1.7rem var(--serif); }

	/* 10. KATALOG */
	.nn-catalog { background: #fff; }
	.nn-group + .nn-group { margin-top: 44px; }
	.nn-group-title { display: flex; align-items: center; gap: 15px; margin-bottom: 18px; }
	.nn-group-title span { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--peach); }
	.nn-group-title h3 { font-size: 1.3rem; }
	.nn-ic { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; color: var(--coral-dark); }
	.nn-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
	.nn-product-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); transition: transform .2s ease, box-shadow .2s ease; overflow: hidden; }
	.nn-product-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
	.nn-card-media { height: 210px; display: grid; place-items: center; position: relative; background: var(--lilac); padding: 24px; }
	.nn-card-media.sage { background: var(--sage); }
	.nn-card-media.peach { background: var(--peach); }
	.nn-card-media.butter { background: var(--butter); }
	.nn-card-media.blush { background: var(--blush); }
	.nn-card-media img { max-height: 165px; width: auto; filter: drop-shadow(0 12px 12px rgba(72, 49, 40, .18)); }
	.nn-card-media .nn-badge { position: absolute; top: 12px; left: 12px; }
	.nn-card-body { display: flex; flex-direction: column; flex: 1; padding: 22px; }
	.nn-card-body h3 { margin: 6px 0 10px; font-size: 1.35rem; }
	.nn-card-body > p { color: var(--muted); font-size: .88rem; }
	.nn-card-bottom { display: flex; justify-content: space-between; align-items: end; margin-top: auto; padding-top: 22px; }
	.nn-card-bottom strong { font: 500 1.5rem var(--serif); }
	.nn-card-bottom a { font-size: .78rem; font-weight: 800; border-bottom: 1px solid; }
	.nn-wide-card { display: grid; grid-template-columns: .72fr 1.4fr .68fr; background: #fff; border: 1px solid var(--line); overflow: hidden; }
	/* dwie szerokie karty pod soba stykalyby sie ramkami */
	.nn-wide-card + .nn-wide-card { margin-top: 22px; }
	.nn-wide-card.nn-accent { border-color: #e6c9d3; box-shadow: 0 16px 38px rgba(72, 49, 40, .11); }
	.nn-wide-media { position: relative; display: grid; place-items: center; padding: 52px 26px 26px; background: var(--lilac); }
	.nn-wide-media.blush { background: var(--blush); }
	.nn-wide-media img { width: 100%; max-width: 250px; filter: drop-shadow(0 16px 14px rgba(72, 49, 40, .18)); }
	.nn-wide-media .nn-badge { position: absolute; left: 16px; top: 16px; z-index: 3; box-shadow: 0 4px 14px rgba(72, 49, 40, .12); }
	.nn-wide-body { padding: 32px 34px; display: flex; flex-direction: column; justify-content: center; }
	.nn-wide-body h3 { font-size: 1.9rem; margin: 6px 0 10px; }
	.nn-wide-body > p:not(.nn-card-type) { color: var(--muted); font-size: .92rem; max-width: 54ch; }
	.nn-wide-list { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 12px; }
	.nn-wide-list li { position: relative; padding-left: 24px; display: grid; gap: 1px; }
	.nn-wide-list li::before { content: '✓'; position: absolute; left: 0; top: 1px; color: var(--coral); font-weight: 900; }
	.nn-wide-list b { font: 500 1.05rem var(--serif); }
	.nn-wide-list span { color: var(--muted); font-size: .82rem; }
	.nn-wide-buy { padding: 32px; border-left: 1px solid var(--line); display: flex; flex-direction: column; justify-content: center; }
	.nn-wide-old { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
	.nn-wide-buy strong { font: 500 2.7rem var(--serif); line-height: 1; margin: 4px 0 18px; }
	.nn-wide-buy small { margin-top: 12px; font-size: .72rem; color: var(--muted); line-height: 1.35; }

	/* 11. DOWOD SPOLECZNY */
	.nn-proof { background: var(--ink); color: #fff; }
	.nn-proof h2, .nn-proof .nn-section-head > p { color: #fff; }
	.nn-proof h2 em { font-style: italic; color: #ffbdc2; }
	.nn-proof .nn-eyebrow { color: #ffbdc2; }
	.nn-proof .nn-eyebrow::before { background: #ffbdc2; }
	.nn-proof .nn-section-head > p { color: #e0d2cc; }
	/* Dwie kolumny, nie cztery: przy czterech zrzut miał 246 px szerokości i tekst był nieczytelny. */
	.nn-quotes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; align-items: stretch; }
	.nn-quote { background: #fff; color: var(--ink); padding: 16px; margin: 0; display: flex; flex-direction: column; }
	/* Zrzuty maja rozne proporcje, wiec dostaja jedno, wspolne pole.
	   object-fit: contain, zeby nic nie bylo przyciete i wszystko bylo czytelne. */
	.nn-quote img { width: 100%; height: auto; aspect-ratio: 8 / 3; object-fit: contain; object-position: center; background: #fff; border: 1px solid var(--line); }
	.nn-quote figcaption { margin-top: auto; padding-top: 14px; font-size: .76rem; font-weight: 700; color: var(--muted); }

	/* 12. O NURSE NOTES */
	.nn-founder { background: var(--cream); }
	.nn-founder-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 70px; }
	.nn-founder-photo { position: relative; overflow: hidden; }
	.nn-founder-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
	.nn-founder-sign { position: absolute; left: 18px; bottom: 18px; display: flex; align-items: baseline; gap: 10px; padding: 11px 18px; background: rgba(255, 253, 251, .88); border: 1px solid rgba(255, 255, 255, .65); box-shadow: 0 10px 26px rgba(72, 49, 40, .2); backdrop-filter: blur(6px); }
	.nn-founder-sign strong { font: 1.2rem var(--serif); line-height: 1; }
	.nn-founder-sign span { font-size: .78rem; color: var(--muted); }
	.nn-founder-copy > p:not(.nn-eyebrow) { margin: 20px 0; color: var(--muted); font-size: 1.02rem; }

	/* 13. DARMOWE */
	.nn-free { background: #fff; }
	.nn-free-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
	.nn-free-card { min-height: 330px; padding: 28px; color: #fff; background: #4c3731; display: flex; flex-direction: column; position: relative; overflow: hidden; }
	.nn-free-card:nth-child(2) { background: #65483f; }
	.nn-free-card:nth-child(3) { background: #65505e; }
	.nn-free-card::after { content: 'N'; position: absolute; right: -10px; top: -65px; font: 250px var(--serif); opacity: .05; }
	.nn-free-card .nn-badge { align-self: flex-end; background: #fff; color: var(--ink); }
	.nn-free-card .nn-card-type { color: #e4d6d0; position: relative; z-index: 1; }
	.nn-free-card h3 { font-size: 1.9rem; margin: 8px 0; color: #fff; position: relative; z-index: 1; }
	.nn-free-card > p { color: #e4d6d0; font-size: .9rem; position: relative; z-index: 1; }
	.nn-free-bottom { margin-top: auto; border-top: 1px solid rgba(255, 255, 255, .25); padding-top: 16px; display: flex; justify-content: space-between; align-items: center; gap: 12px; position: relative; z-index: 1; }
	.nn-free-bottom strong { font: 1.4rem var(--serif); }
	.nn-free-bottom a { font-size: .78rem; font-weight: 800; border-bottom: 1px solid; }

	/* 14. FAQ */
	.nn-faq { background: var(--cream); }
	.nn-faq-grid { display: grid; grid-template-columns: .68fr 1.32fr; gap: 72px; }
	.nn-faq-copy { position: sticky; top: 110px; align-self: start; }
	.nn-faq-copy p { margin: 18px 0; color: var(--muted); }
	.nn-faq details { border-top: 1px solid var(--line); }
	.nn-faq details:last-child { border-bottom: 1px solid var(--line); }
	.nn-faq summary { position: relative; cursor: pointer; list-style: none; padding: 20px 34px 20px 0; font-family: var(--serif); font-weight: 500; font-size: 1.2rem; }
	.nn-faq summary::-webkit-details-marker { display: none; }
	.nn-faq summary .nn-plus { position: absolute; right: 0; top: 20px; color: var(--coral); font-family: var(--sans); font-size: 1.1rem; line-height: 1.4; transition: transform .2s ease; }
	.nn-faq details[open] summary .nn-plus { transform: rotate(45deg); }
	.nn-faq details p { color: var(--muted); padding: 0 0 20px; }

	/* 15. STOPKA */
	.nn-footer { background: #32241f; color: #fff; padding: 52px 0 20px; }
	.nn-footer h3 { color: #fff; font-size: 1.3rem; margin-bottom: 12px; }
	.nn-footer-grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 44px; }
	.nn-footer p { color: #cdbdb6; font-size: .85rem; }
	.nn-footer-seller { margin-top: 14px; }
	.nn-footer-seller a { color: #e4d6d0; text-decoration: underline; }
	.nn-footer-links a { display: block; color: #cdbdb6; margin: 7px 0; font-size: .85rem; }
	.nn-footer-links a:hover { color: #fff; }
	.nn-footer-note { margin-top: 34px; padding: 14px 18px; background: rgba(255, 255, 255, .06); border-left: 3px solid var(--coral); font-size: .8rem; color: #e4d6d0; line-height: 1.55; }
	.nn-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .14); margin-top: 28px; padding-top: 18px; color: #a9958c; font-size: .75rem; line-height: 1.6; }
	.nn-footer-bottom a { color: #cdbdb6; text-decoration: underline; }

	/* 16. SOCIAL */
	.nn-social { position: fixed; right: 18px; top: 50%; transform: translateY(-50%); z-index: 40; display: flex; flex-direction: column; gap: 12px; }
	.nn-social a { width: 46px; height: 46px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: var(--ink); color: #fff; box-shadow: 0 12px 28px rgba(72, 49, 40, .22); line-height: 0; transition: background .2s ease; }
	.nn-social a:hover { background: var(--coral); }
	.nn-social svg { width: 22px; height: 22px; display: block; fill: currentColor; }
	@media (max-width: 1279px) { .nn-social { display: none; } }

	/* 17. TABLET (max 980px) */
	@media (max-width: 980px) {
		.nn-section { padding: 58px 0; }
		.nn-burger { display: inline-flex; }
		.nn-nav { position: absolute; left: 0; right: 0; top: 100%; display: none; flex-direction: column; align-items: stretch; gap: 0; background: #fff; padding: 12px 20px 22px; border-bottom: 1px solid var(--line); box-shadow: var(--shadow); max-height: 72vh; overflow-y: auto; }
		.nn-nav.is-open { display: flex; }
		.nn-nav a { padding: 14px 4px; border-bottom: 1px solid var(--line); font-size: 1rem; }
		.nn-nav a:last-child { border-bottom: 0; }
		.nn-nav .nn-nav-kontakt { display: block; }
		.nn-logo img { width: 180px; }
		.nn-hero-grid { grid-template-columns: 1fr; }
		.nn-hero-copy { padding-bottom: 0; }
		.nn-hero-visual { min-height: 460px; }
		.nn-paths { grid-template-columns: repeat(2, 1fr); }
		.nn-paths a:nth-child(n) { grid-column: auto; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
		.nn-paths a:nth-child(2n) { border-right: 0; }
		.nn-paths a:nth-child(n+7) { border-bottom: 0; }
		.nn-paths a:nth-child(7) { grid-column: 1 / -1; border-right: 0; }
		.nn-guide-grid { grid-template-columns: 1fr; }
		.nn-guide-tabs { display: flex; overflow: auto; padding: 10px; }
		.nn-guide-tab { min-width: 240px; border-right: 1px solid var(--line); }
		.nn-best-grid { grid-template-columns: 1fr 1fr; }
		.nn-best-card.nn-best-accent { grid-column: 1 / -1; grid-template-columns: 44% 56%; }
		.nn-best-card.nn-best-accent .nn-best-media { min-height: 0; padding: 52px 24px 24px; }
		.nn-cards { grid-template-columns: 1fr 1fr; }
		.nn-wide-card { grid-template-columns: .82fr 1.18fr; }
		.nn-wide-buy { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 30px; }
		.nn-wide-buy strong { margin: 0; }
		.nn-wide-buy small, .nn-wide-old { display: none; }
		.nn-quotes { grid-template-columns: 1fr 1fr; }
		.nn-founder-grid, .nn-faq-grid { grid-template-columns: 1fr; gap: 32px; }
		.nn-faq-copy { position: static; }
		.nn-free-grid { grid-template-columns: 1fr 1fr; }
		.nn-footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
	}

	/* 18. TELEFON (max 680px) */
	@media (max-width: 680px) {
		.nn-shell { width: min(100% - 28px, 1160px); }
		.nn-section { padding: 46px 0; }
		.nn-section-head { display: block; margin-bottom: 24px; }
		.nn-section-head > p { margin-top: 14px; }
		.nn-sklep .topbar { font-size: .68rem; }
		.nn-header-inner { min-height: 66px; }
		.nn-logo img { width: 158px; }
		.nn-hero { padding-top: 48px; }
		.nn-hero-grid { gap: 24px; }
		.nn-hero h1 { font-size: 2.9rem; }
		.nn-hero-lead { font-size: 1rem; }
		.nn-hero-actions { align-items: flex-start; flex-direction: column; gap: 16px; }
		.nn-hero-actions .nn-btn { width: 100%; }
		.nn-hero-visual { min-height: 360px; }
		.nn-stage { width: 95%; }
		.nn-hero-note { font-size: .72rem; }
		.nn-hero-note.one { right: 0; }
		.nn-hero-note.two { left: 0; }
		.nn-orb { width: 100px; height: 100px; }
		/* Pionowa lista zamiast przewijania w bok. Przy poziomym pasku kafelki
		   byly przyciete z obu stron i wygladalo to na zepsute. */
		.nn-paths { width: 100%; grid-template-columns: 1fr; overflow: visible; box-shadow: none; border: 1px solid var(--line); }
		.nn-paths a:nth-child(n) { grid-column: auto; padding: 16px 18px; border-right: 0; border-bottom: 1px solid var(--line); }
		.nn-paths a:last-child { border-bottom: 0; }
		.nn-paths b { font-size: 1rem; }
		.nn-guide-grid { min-height: 0; }
		/* Zakladki jedna pod druga. W poziomym pasku byly ucinane w polowie slowa. */
		.nn-guide-tabs { display: grid; grid-template-columns: 1fr; overflow: visible; padding: 0; }
		.nn-guide-tab { min-width: 0; border-right: 0; padding: 14px 16px; grid-template-columns: 38px 1fr; }
		.nn-guide-tab b { font-size: 1.05rem; }
		.nn-guide-tab small { font-size: .8rem; }
		.nn-guide-result { grid-template-columns: 1fr; }
		.nn-guide-media { padding: 28px; height: 300px; }
		.nn-guide-media img { height: 230px; max-width: 86%; }
		/* Tylko na telefonie: pas e-book PDFow wskakuje zaraz za karuzele, zeby
		   cena byla widoczna po ok. 2 ekranach zamiast po 5. Kolejnosc w kodzie
		   zostaje bez zmian, wiec widok na komputerze jest nietkniety.
		   Uwaga: przy order kolejnosc czytana przez czytnik ekranu idzie za kodem. */
		#nn-main { display: flex; flex-direction: column; }
		#nn-main > .nn-best { order: -1; }
		.nn-guide-copy { padding: 28px; }
		.nn-guide-copy h3 { font-size: 1.7rem; }
		.nn-choice-price { align-items: flex-start; gap: 14px; flex-direction: column; }
		.nn-choice-price .nn-btn { width: 100%; }
		.nn-best-grid, .nn-cards, .nn-free-grid, .nn-quotes { grid-template-columns: 1fr; }
		.nn-best-card, .nn-best-card.nn-best-accent { grid-template-columns: 46% 54%; }
		.nn-best-media, .nn-best-card.nn-best-accent .nn-best-media { min-height: 0; padding: 44px 14px 16px; }
		.nn-best-media img { max-height: 200px; }
		.nn-best-copy { padding: 20px 18px; }
		.nn-best-copy h3 { font-size: 1.3rem; }
		.nn-best-copy ul { display: none; }
		.nn-best-bottom { align-items: flex-start; flex-direction: column; gap: 8px; }
		.nn-badge { font-size: .6rem; padding: 5px 8px; letter-spacing: .06em; }
		.nn-product-card { display: grid; grid-template-columns: 36% 64%; min-height: 215px; }
		.nn-card-media { height: auto; min-height: 215px; padding: 14px; }
		.nn-card-media img { max-height: 160px; }
		.nn-card-body { padding: 18px; }
		.nn-wide-card { grid-template-columns: 1fr; }
		.nn-wide-media { padding: 44px 20px 20px; }
		.nn-wide-media img { max-width: 190px; }
		.nn-wide-body { padding: 24px 20px; }
		.nn-wide-body h3 { font-size: 1.5rem; }
		.nn-wide-buy { padding: 18px 20px; }
		.nn-wide-buy .nn-btn { width: 100%; }
		.nn-founder-grid { gap: 32px; }
		.nn-free-card { min-height: 250px; }
		.nn-footer-grid { grid-template-columns: 1fr 1fr; }
		.nn-footer-grid > div:first-child { grid-column: 1 / -1; }
	}

	@media (prefers-reduced-motion: reduce) {
		html { scroll-behavior: auto; }
		.nn-sklep * { transition: none !important; }
	}

	/* --- Karuzela promo pod hero: Planner / Welcome2Nursing / Back2Nursing / pediatria ---
	   Style .slide-planner i .planner-* sa znowu w uzyciu: slajd Plannera wrocil
	   1.09.2026 razem ze startem sprzedazy pierwszego produktu fizycznego. --- */
		.nn-sklep .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
		.nn-sklep .nn-carousel { position: relative; }
		.nn-sklep .nn-car-viewport {
			overflow: hidden; border-radius: 28px;
			box-shadow: 0 22px 55px rgba(74,57,50,0.14); touch-action: pan-y;
		}
		.nn-sklep .nn-car-track { display: flex; transition: transform 0.55s cubic-bezier(0.4,0,0.15,1); will-change: transform; }
		.nn-sklep .nn-car-slide {
			flex: 0 0 100%; min-width: 0; position: relative;
			display: grid; grid-template-columns: 1.08fr 0.92fr; align-items: center;
			min-height: 460px; text-decoration: none; color: inherit;
		}
		.nn-sklep .nn-car-slide img { -webkit-user-drag: none; user-select: none; }
		.nn-sklep .nn-car-body { padding: 42px 20px 42px 52px; z-index: 2; }
		.nn-sklep .nn-car-slide h3 {
			font-family: Georgia, "Times New Roman", serif;
			font-size: clamp(32px, 4.2vw, 48px); line-height: 1.02; letter-spacing: -0.3px;
			margin: 0 0 8px; font-weight: 800; color: var(--brown);
		}
		.nn-sklep .nn-car-lead { font-family: Georgia, "Times New Roman", serif; font-size: 21px; margin: 0 0 22px; font-weight: 500; color: var(--brown2); }
		.nn-sklep .nn-car-lead em, .nn-sklep .nn-car-box-title em, .nn-sklep .nn-car-box-text em { font-style: italic; }

		.nn-sklep .nn-car-box {
			background: rgba(255,255,255,0.7);
			border: 1px solid rgba(194,163,107,0.35);
			border-radius: 18px; padding: 22px 26px; max-width: 410px;
			backdrop-filter: blur(4px);
			text-align: center;
		}
		.nn-sklep .nn-car-box-label {
			display: block; font-family: Arial, sans-serif;
			font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase;
			color: var(--gold); font-weight: 800; margin-bottom: 9px;
		}
		.nn-sklep .nn-car-box-title {
			display: block; font-family: Georgia, "Times New Roman", serif; font-size: 25px; font-weight: 700;
			color: var(--brown); margin-bottom: 9px; letter-spacing: -0.2px; line-height: 1.2;
		}
		.nn-sklep .nn-car-box-text { font-size: 15px; color: var(--brown2); margin: 0 0 18px; line-height: 1.55; }
		.nn-sklep .nn-car-box-text em { color: var(--brown); font-weight: 600; }
		.nn-sklep .nn-car-cta {
			display: inline-flex; align-items: center; justify-content: center; gap: 8px;
			padding: 13px 26px; border-radius: 999px; font-weight: 800; font-size: 15px;
			font-family: Arial, sans-serif;
		}
		.nn-sklep .nn-car-visual { position: relative; height: 100%; min-height: 460px; overflow: hidden; }
		.nn-sklep .nn-car-photo {
			position: absolute; inset: 0; width: 100%; height: 100%;
			object-fit: contain; object-position: center;
			-webkit-mask-image: radial-gradient(ellipse 68% 76% at 50% 48%, #000 52%, transparent 96%);
			mask-image: radial-gradient(ellipse 68% 76% at 50% 48%, #000 52%, transparent 96%);
			filter: drop-shadow(0 18px 30px rgba(74,57,50,0.16));
		}

		/* slajd 1: Planner Praktyk, domyslna oferta pakietowa */
		.nn-sklep .slide-planner { background: linear-gradient(120deg, #e8f0e5 0%, #fbf2ed 52%, #f2d9d7 100%); }
		.nn-sklep .slide-planner .nn-car-cta { background: var(--coral); color: #fff; }
		.nn-sklep .slide-planner .nn-car-visual { display: flex; align-items: center; justify-content: center; padding: 34px 40px; }
		/* Zdjecie okladki jest pionowe (900x1200), wiec nie moze brac szerokosci
		   packshotu poziomego z .nn-car-pack, bo urosloby na pol ekranu. */
		.nn-sklep .slide-planner .nn-car-pack { max-width: 250px; border-radius: 3px 8px 8px 3px; box-shadow: 0 22px 34px rgba(74,57,50,.28); transform: rotate(-4deg); filter: none; }
		.nn-sklep .planner-showcase { position: relative; width: 330px; height: 390px; }
		.nn-sklep .planner-cover-card {
			position: absolute; left: 20px; top: 12px; z-index: 2;
			width: 230px; height: 326px; padding: 50px 24px 28px;
			background: var(--brown); color: #f9ece7; border-radius: 3px 8px 8px 3px;
			box-shadow: 0 22px 34px rgba(74,57,50,.28); text-align: center;
			transform: rotate(-5deg);
		}
		.nn-sklep .planner-cover-card::before { content: ''; position: absolute; left: 12px; top: 0; bottom: 0; border-left: 1px solid rgba(249,236,231,.28); }
		.nn-sklep .planner-cover-card small { display: block; color: #d9c4ba; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; }
		.nn-sklep .planner-cover-card strong { display: block; margin: 20px 0 16px; font-family: Georgia, "Times New Roman", serif; font-size: 30px; line-height: 1.05; font-weight: 600; }
		.nn-sklep .planner-cover-card i { display: block; width: 42px; height: 2px; margin: 0 auto 18px; background: var(--coral); }
		.nn-sklep .planner-page-card {
			position: absolute; right: 2px; bottom: 4px; z-index: 1; width: 180px;
			border: 1px solid rgba(74,57,50,.18); box-shadow: 0 18px 30px rgba(74,57,50,.22);
			transform: rotate(7deg); background: #fff;
		}

		/* slajd 1: Welcome2Nursing (bez, jednolity kolor, dopasowany do zdjecia) */
		.nn-sklep .slide-1 { background: var(--beige); }
		.nn-sklep .slide-1 .nn-car-cta { background: var(--brown); color: var(--cream); }
		.nn-sklep .slide-1 .nn-car-visual { background: var(--beige); }
		.nn-sklep .slide-1 .nn-car-visual::before, .nn-sklep .slide-1 .nn-car-visual::after {
			content: ''; position: absolute; top: 0; bottom: 0; width: 110px; z-index: 2; pointer-events: none;
		}
		.nn-sklep .slide-1 .nn-car-visual::before { left: 0; background: linear-gradient(90deg, var(--beige) 0%, rgba(234,216,202,0) 100%); }
		.nn-sklep .slide-1 .nn-car-visual::after { right: 0; background: linear-gradient(270deg, var(--beige) 0%, rgba(234,216,202,0) 100%); }

		/* slajd 2: Back2Nursing (lawenda + szkic ksiazek) */
		.nn-sklep .slide-2 { background: linear-gradient(120deg, #ede6f6 0%, #f8eee8 50%, #ddd0ec 100%); }
		.nn-sklep .slide-2 .nn-car-cta { background: #6a5a86; color: #fff; }
		.nn-sklep .slide-2 .nn-car-visual { display: flex; align-items: center; justify-content: center; padding: 30px 44px; }

		/* slajd 3: Pakiet pediatryczny (nowosc). Packshot ma kanal alfa,
		   wiec gradient przechodzi pod ksiazkami bez bialego prostokata.
		   height: auto jest konieczne, inaczej obraz bierze wysokosc z atrybutu. */
		.nn-sklep .slide-ped { background: linear-gradient(120deg, #dce7ef 0%, #fbf6f2 54%, #f3d9df 100%); }
		.nn-sklep .slide-ped .nn-car-cta { background: var(--coral); color: #fff; }
		.nn-sklep .slide-ped .nn-car-visual { display: flex; align-items: center; justify-content: center; padding: 30px 40px; }
		.nn-sklep .nn-car-pack { width: 100%; max-width: 430px; height: auto; filter: drop-shadow(0 16px 26px rgba(74,57,50,.14)); }

		.nn-sklep .book-stack { display: flex; flex-direction: column; gap: 11px; width: 306px; }
		.nn-sklep .book {
			position: relative; height: 48px;
			display: flex; align-items: center; padding: 0 18px 0 30px;
			border: 1.5px solid rgba(74,57,50,0.5);
			border-radius: 4px;
			background: rgba(255,255,255,0.32);
			font-family: Georgia, "Times New Roman", serif; font-size: 17px; font-weight: 600; font-style: italic;
			color: var(--brown); letter-spacing: 0.2px;
		}
		.nn-sklep .book::before {
			content: ''; position: absolute; left: 14px; top: 9px; bottom: 9px;
			border-left: 1.4px solid rgba(74,57,50,0.42);
		}
		.nn-sklep .book::after {
			content: ''; position: absolute; left: 8px; right: 8px; bottom: 5px;
			border-bottom: 1px solid rgba(74,57,50,0.2);
		}
		.nn-sklep .book.b7 { border-color: rgba(74,57,50,0.62); }

		.nn-sklep .nn-car-arrow {
			position: absolute; top: 50%; transform: translateY(-50%); z-index: 6;
			width: 48px; height: 48px; border-radius: 999px;
			background: rgba(255,250,247,0.92); border: 1px solid rgba(194,163,107,0.4);
			color: var(--brown); cursor: pointer;
			display: flex; align-items: center; justify-content: center;
			box-shadow: 0 8px 22px rgba(74,57,50,0.18);
			transition: background 0.2s ease, transform 0.2s ease;
		}
		.nn-sklep .nn-car-arrow:hover { background: #fff; transform: translateY(-50%) scale(1.06); }
		.nn-sklep .nn-car-arrow:focus-visible { outline: 2px solid var(--brown); outline-offset: 2px; }
		.nn-sklep .nn-car-arrow svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
		.nn-sklep .nn-car-arrow.prev { left: 16px; }
		.nn-sklep .nn-car-arrow.next { right: 16px; }

		.nn-sklep .nn-car-dots { display: flex; justify-content: center; gap: 10px; margin-top: 18px; }
		.nn-sklep .nn-car-dot {
			width: 10px; height: 10px; border-radius: 999px; padding: 0;
			background: rgba(194,163,107,0.4); border: none; cursor: pointer;
			transition: background 0.2s ease, width 0.3s ease;
		}
		.nn-sklep .nn-car-dot:hover { background: rgba(74,57,50,0.5); }
		.nn-sklep .nn-car-dot[aria-current="true"] { background: var(--brown); width: 26px; }
		.nn-sklep .nn-car-dot:focus-visible { outline: 2px solid var(--brown); outline-offset: 3px; }

		@media (max-width: 720px) {
			.nn-sklep .nn-car-slide { grid-template-columns: 1fr; min-height: 0; }
			.nn-sklep .nn-car-body { padding: 30px 24px 24px; text-align: center; }
			.nn-sklep .nn-car-lead, .nn-sklep .nn-car-box { margin-left: auto; margin-right: auto; }
			.nn-sklep .nn-car-visual { min-height: 320px; order: 2; }
			/* mobile first: packshot ma wykorzystac szerokosc ekranu,
			   a nie siedziec w srodku 320 px pustego pola */
			.nn-sklep .slide-ped .nn-car-visual { min-height: 0; padding: 4px 18px 26px; }
			.nn-sklep .book-stack { width: 264px; }
			.nn-sklep .planner-showcase { width: 280px; height: 310px; }
			.nn-sklep .planner-cover-card { left: 20px; top: 4px; width: 185px; height: 262px; padding: 38px 18px 22px; }
			.nn-sklep .planner-cover-card strong { font-size: 24px; }
			.nn-sklep .planner-page-card { width: 142px; right: 4px; }
			.nn-sklep .nn-car-arrow { width: 40px; height: 40px; }
			.nn-sklep .nn-car-arrow.prev { left: 8px; }
			.nn-sklep .nn-car-arrow.next { right: 8px; }
		}
		@media (prefers-reduced-motion: reduce) { .nn-sklep .nn-car-track { transition: none; } }
	
	.nn-founder-photo .nn-founder-current { object-position: center 38%; }

html{scroll-padding-top:90px}body{padding-bottom:0!important}#nnPodglad{display:none!important}.ux-review{position:relative;z-index:9999;display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:12px 20px;background:#263d35;color:#fff;font:14px/1.5 system-ui}.ux-review a{color:#fff;text-decoration:underline}.ux-review strong{font-weight:600}.ux-review details{margin-left:auto}.ux-review summary{cursor:pointer}.ux-review p{max-width:70ch}.ux-review button{background:none;color:white;border:1px solid #fff;padding:5px 10px;border-radius:5px}:focus-visible{outline:3px solid #086a74!important;outline-offset:4px!important}.reveal{opacity:1!important;transform:none!important}.ux-demo-note{padding:14px;background:#f3eee4;color:#263d35;border-radius:8px;font:15px/1.5 system-ui}.dose-full-bridge p{max-width:65ch}.dose-preview-grid img{cursor:zoom-in}.ux-image-dialog{border:0;border-radius:12px;padding:16px;max-width:94vw;max-height:92vh}.ux-image-dialog::backdrop{background:#17231fdd}.ux-image-dialog img{display:block;max-width:85vw;max-height:78vh;object-fit:contain}.ux-image-dialog button{display:block;margin:0 0 10px auto;padding:8px 16px} @media(max-width:600px){.ux-review{padding:10px 14px;font-size:12px;gap:6px 12px}.ux-review details{margin-left:0}.dose-bridge-inner{display:block!important}.dose-bridge-inner .button{margin-top:18px}.dose-preview-grid{grid-template-columns:1fr!important}.dose-preview-grid img{max-height:460px;object-fit:contain;width:100%}}
.cover:before{width:min(370px,100%);height:auto;aspect-ratio:1}.ux-real-free{margin:0;max-width:350px;transform:rotate(-3deg)}.ux-real-free img{width:100%;height:auto;box-shadow:0 18px 38px #263d3520}.ux-real-free figcaption{margin-top:16px;font:14px/1.5 system-ui;text-align:center}.dose-free-visual .dose-free-note{display:none}@media(max-width:600px){.ux-real-free{max-width:280px;margin:auto;transform:none}}

/* Odbiór wizualny: czytelne karty i całe strony PDF. */
.dark .detail-list>div{color:#342b2e;background:#fffaf5;border-color:#e4d8d1}.dark .eyebrow{color:#efb9c9}
.preview-grid{align-items:start}.preview-grid img{height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;max-width:100%}.preview-grid figure{margin:0;min-width:0}.preview-grid button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;color:#342b2e;font:inherit}.preview-grid figcaption{padding:14px 2px;font:15px/1.5 system-ui;text-align:left}.preview-grid figcaption span{display:block;color:#685a5e;font-size:13px;margin-top:4px}
.paid-dawki .hero{background:#f8f3ed!important;padding:64px 0}.paid-dawki h1{font-size:clamp(36px,4.5vw,58px);line-height:1.08;max-width:12ch}.paid-dawki .hero-grid{gap:64px;align-items:center}.paid-dawki .hero .lead{max-width:46ch;font-size:19px;line-height:1.65}.paid-dawki .cover{padding:20px;min-height:0}.paid-dawki .cover:before{display:none}.paid-dawki .cover img{width:min(100%,360px);max-height:none;object-fit:contain;filter:none;box-shadow:0 16px 40px #4b352322;border-radius:2px}.paid-dawki .section{padding:64px 0}.paid-dawki .section h2{font-size:clamp(28px,3vw,40px);line-height:1.18}.paid-dawki .detail-list>div{font-size:16px}.paid-dawki .ux-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid #d9cfc6;border-bottom:1px solid #d9cfc6;padding:26px 0;margin:0}.paid-dawki .ux-facts div{min-width:0}.paid-dawki .ux-facts dt{font-size:13px;color:#75665e;margin-bottom:6px}.paid-dawki .ux-facts dd{margin:0;font-size:18px;color:#342b2e}.ux-pdf-dialog{width:min(850px,94vw);max-width:94vw;max-height:94vh;border:0;border-radius:12px;padding:16px;background:#fffaf5}.ux-pdf-dialog::backdrop{background:#241c18dc}.ux-pdf-dialog img{display:block;width:100%;height:auto}.ux-pdf-dialog button{display:block;margin:0 0 12px auto;padding:10px 18px;background:#342b2e;color:white;border:0;border-radius:8px;cursor:pointer}.ux-pdf-dialog .ux-pdf-scroll{overflow:auto;max-height:78vh}.ux-pdf-dialog p{font-size:14px;margin:0 0 10px}
@media(max-width:700px){.paid-dawki .hero{padding:36px 0}.paid-dawki .hero-grid{gap:28px}.paid-dawki .hero .cover{padding:10px 24px}.paid-dawki .cover img{width:min(100%,300px)}.paid-dawki .section{padding:42px 0}.paid-dawki .preview-grid{grid-template-columns:1fr!important;gap:30px}.paid-dawki .preview-grid figure{max-width:390px;margin:auto;width:100%}.paid-dawki .ux-facts{grid-template-columns:1fr;gap:18px}.paid-dawki .details{gap:24px}.ux-pdf-dialog .ux-pdf-scroll img{min-width:680px}}
.paid-dawki .cover img{height:auto!important;aspect-ratio:auto!important}.paid-dawki .cover{display:flex;justify-content:center;align-items:center}

/* Wspólna prezentacja oferty w obu podglądach Plannera. */
#pakiet-kompletny {position:relative;padding-top:48px}
#pakiet-kompletny .nn-delivery-cloud{position:absolute;top:-19px;right:14px;max-width:calc(100% - 28px);padding:14px 20px;border-radius:26px;background:#ad354b;color:#fff;font:800 14px/1.3 Arial,sans-serif;letter-spacing:.04em;box-shadow:0 5px 14px #49372f26}
#pakiet-kompletny .nn-delivery-cloud:after{content:'';position:absolute;bottom:-8px;right:32px;border:9px solid transparent;border-top-color:#ad354b;border-bottom:0}
#pakiet-kompletny .nn-package-saving{font:700 clamp(28px,3vw,38px)/1.15 Georgia,serif;color:#ad354b;margin:24px 0 10px}
.nn-hero-preview-link{margin:20px 0!important}

.nn-paths { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nn-paths a:nth-child(n) { grid-column: auto; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.nn-paths a:nth-child(3n) { border-right: 0; }
.nn-paths a:nth-child(n+7) { border-bottom: 0; }
.nn-home-memory { margin: 0; width: 100%; padding: 24px 12px 38px; text-align: center; }
.nn-memory-pages { display: flex; align-items: center; justify-content: center; padding: 24px 12px; }
.nn-memory-pages img { width: 48%; height: auto; border: 1px solid #e6d9cf; box-shadow: 0 15px 30px #49372f20; transform: rotate(-7deg); }
.nn-memory-pages img + img { margin-left: -4%; transform: rotate(7deg) translateY(18px); }
.nn-home-memory figcaption { margin: 28px 0 18px; font: 400 clamp(1.8rem, 3vw, 2.7rem)/1.15 var(--serif); }
.nn-home-memory figcaption em { color: #90505e; }
.nn-guide-media { padding: 20px 14px; min-width: 0; }
.nn-guide-media img[hidden] { display: none; }
.nn-guide-pair { display: flex; width: 100%; gap: 10px; align-items: center; justify-content: center; }
.nn-guide-media .nn-guide-pair img { width: calc(50% - 5px); max-width: none; height: auto; object-fit: contain; }
.nn-choice-price { flex-wrap: wrap; }
.nn-choice-price strong { white-space: nowrap; }
.nn-choice-price .nn-btn { flex: 1 1 150px; }
.nn-founder-sign { position: static; justify-content: center; padding: 18px 10px; background: transparent; border: 0; box-shadow: none; backdrop-filter: none; }
.nn-founder-photo img { display: block; }
@media (min-width: 1001px) {
  .nn-guide-grid { grid-template-columns: .62fr 1.38fr; }
  .nn-guide-result { grid-template-columns: 1fr 1fr; }
  .nn-guide-copy { padding: 32px 26px; }
}
@media (min-width: 681px) and (max-width: 1000px) {
  .nn-paths { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .nn-paths a { gap: 8px; padding: 16px 10px; }
}
@media (max-width: 680px) {
  .nn-paths { grid-template-columns: 1fr; }
  .nn-paths a:nth-child(n) { border-right: 0; border-bottom: 1px solid var(--line); }
  .nn-paths a:last-child { border-bottom: 0; }
  .nn-home-memory { max-width: 400px; padding: 0 10px 28px; }
  .nn-hero-visual { min-height: 0; }
  .nn-guide-media .nn-guide-pair { max-width: 350px; }
  .nn-guide-media .nn-guide-pair img { max-height: 260px; width: 46%; }
}
/* Czytelny pierwszy ekran po rozszerzeniu opisu oferty. */
.nn-sklep .nn-hero h1{font-size:clamp(2.3rem,4.5vw,4.1rem);line-height:1.08}

/* U01–U24: shared presentation fixes, no checkout or tax implementation. */
[hidden]{display:none!important}
.audit-header{position:relative!important;z-index:45;background:#fff!important;border-bottom:1px solid #dfd3cc!important;color:#49392f!important;font:16px/1.5 Arial,sans-serif}
.audit-header-inner{width:min(1180px,calc(100% - 32px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px}
.audit-logo{display:block;flex:0 0 auto}.audit-logo img{display:block;width:180px;height:auto;max-height:58px;object-fit:contain}
.audit-nav{display:flex!important;align-items:center;gap:24px;min-height:0!important;padding:0!important;flex-wrap:wrap}
.audit-nav a{font:600 15px/1.4 Arial,sans-serif!important;color:#49392f!important;text-decoration:none!important;padding:12px 0}
.audit-nav a[aria-current=page]{text-decoration:underline!important;text-underline-offset:6px}
.audit-menu{display:none;background:#fff;border:1px solid #49392f;padding:10px 14px;color:#49392f;min-height:44px;font:600 15px Arial}
.audit-cart{font:600 15px Arial;color:#49392f;text-decoration:none;white-space:nowrap;padding:12px 4px}
.audit-footer-nav{display:flex!important;gap:16px 24px;flex-wrap:wrap;padding:22px!important;background:#49392f;color:white;font:15px/1.5 Arial,sans-serif;min-height:0!important}
.audit-footer-nav a{display:block!important;color:#fff!important;text-decoration:underline!important}
.audit-footer{background:#49392f!important;color:#fff!important;padding:8px 22px 30px!important;font:15px/1.7 Arial,sans-serif!important}.audit-footer p{margin:8px 0!important;color:#fff!important}.audit-footer a{color:#fff!important}
.audit-review-notes{font:15px/1.6 Arial,sans-serif;color:#263d35;background:#edf2ec;border:1px solid #cbd8c9;padding:18px;margin:24px auto;width:min(1120px,calc(100% - 32px));overflow-wrap:anywhere}
.audit-review-notes summary{cursor:pointer;font-weight:700}.audit-review-notes a{color:inherit;text-decoration:underline}
.audit-review-notes ul{padding-left:22px}.audit-review-notes li{margin:10px 0}
.dark .detail-list>div{color:#342b2e!important;background:#fffaf5!important;border-color:#e4d8d1}
.cover{min-height:0!important;display:flex;align-items:center;justify-content:center;padding:24px!important}
.cover img{height:auto!important;width:min(100%,360px)!important;max-height:510px!important;object-fit:contain!important;aspect-ratio:auto!important}
.preview-grid{align-items:start!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))!important;gap:24px!important}
.preview-grid>*,.preview-grid figure{min-width:0;margin:0!important;max-width:420px;width:100%;justify-self:center}
.preview-grid img{display:block;width:100%!important;height:auto!important;max-height:560px;object-fit:contain!important;aspect-ratio:auto!important;background:#f8f3ed}
.preview-grid button{width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.preview-grid figcaption{font:14px/1.5 Arial;padding:12px 0;color:#49392f}
.product-card img{object-fit:contain!important;padding:18px;max-width:100%}
.line-item{display:grid!important;grid-template-columns:64px minmax(0,1fr) auto!important;gap:14px!important;align-items:center!important;min-width:0}
.line-item>*{min-width:0}.line-item img{width:64px;height:86px;object-fit:contain}
.line-item>div{display:block!important;border:0!important;padding:0!important}.line-item>div strong,.line-item>div small{width:100%!important}
.line-item strong,.line-item small{display:block!important}.line-item small{margin-top:7px;font-size:14px;line-height:1.5;color:#695b54}
.line-item>b{white-space:nowrap}.line-item input{max-width:70px}.panel{min-width:0}.panel .field input{max-width:100%;min-width:0}
.audit-account .flow-grid{grid-template-columns:220px minmax(0,1fr)!important}
.audit-account aside a{display:inline-block;padding:8px 0}.audit-account .line-item{grid-template-columns:64px minmax(0,1fr) auto!important}
.audit-account .line-item .btn{padding:10px 16px;min-height:44px}
.field span{display:block}.field input[aria-invalid=true]{border:2px solid #a32f46}.audit-field-error{display:block;color:#9d243b;font:14px/1.4 Arial;margin:6px 0}
.totals>.coupon-field{display:grid!important;gap:8px!important;margin:20px 0 14px!important}.totals>.coupon-field+ .btn{margin-top:0!important}
.audit-coupon-result{font-size:14px;line-height:1.5}.audit-coupon-button{margin:10px 0;min-height:44px}
.audit-toc{display:block!important;min-height:0!important;margin:24px 0;padding:22px!important;border:1px solid #ddd1c9;background:#fffaf7;color:#49392f;font:16px/1.6 Arial}
.audit-toc ol{padding-left:22px}.audit-toc a{display:block!important;color:#49392f!important;text-decoration:underline!important;padding:5px 0;font:inherit!important}
.legal-content,.legal-body{max-width:850px;margin-inline:auto}table{max-width:100%}.audit-table-scroll{overflow-x:auto;max-width:100%}
.filters a[aria-current=page]{background:#49392f;color:white;border-color:#49392f}
.welcome-form label>span,.welcome-form .consent span{font-size:14px!important;line-height:1.55!important;color:#fff!important;letter-spacing:0!important;text-transform:none!important}
.welcome-form>small{font-size:13px!important;line-height:1.6!important;color:#eee1db!important}.welcome-form>small a{color:inherit;text-decoration:underline}
.button.primary,.nn-sklep .nn-btn:not(.nn-ghost){background:#ad354b!important;color:#fff!important}.button.primary:hover,.nn-sklep .nn-btn:not(.nn-ghost):hover{background:#91283c!important}
.dose-preview-grid img{aspect-ratio:auto!important;height:auto!important;object-fit:contain!important}.dose-preview-grid figure:nth-child(2){transform:none}
.dose-preview-grid figcaption{font-size:13px!important}.dose-point-grid p{font-size:16px;line-height:1.6}
.nn-zestawy-grid{align-items:start!important}.nn-zestaw{height:auto!important;min-height:0!important;align-self:start}.nn-zestaw-cena{margin-top:22px!important}
.nn-zestaw-solo{order:0!important}.nn-zestaw-praktyki{order:1!important}.nn-zestaw-polecany{order:2!important}
.nn-guide-copy .nn-btn{height:auto!important;min-height:48px;max-height:none;padding:12px 18px!important;line-height:1.4}
.nn-guide-copy .nn-price{white-space:nowrap}
.nn-guide-copy .nn-choice-price .nn-btn{flex:0 0 auto!important;min-height:48px!important}
@media(max-width:700px){
 .audit-header-inner{min-height:70px;gap:10px;flex-wrap:wrap;padding:10px 0}.audit-logo{margin-right:auto}.audit-logo img{width:145px}.audit-menu{display:block}
 .audit-nav{display:none!important;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0}.audit-nav.is-open{display:flex!important}.audit-nav a{padding:14px 4px;border-top:1px solid #eee}
 .audit-account .flow-grid{grid-template-columns:minmax(0,1fr)!important}.audit-account aside{display:flex;gap:8px 18px;flex-wrap:wrap}.audit-account aside br{display:none}
 .line-item,.audit-account .line-item{grid-template-columns:52px minmax(0,1fr)!important;gap:12px!important}.line-item img{width:52px;height:74px;grid-row:1 / 3}.line-item>b,.line-item>.btn,.line-item>input{grid-column:2;justify-self:start}.line-item small{overflow-wrap:anywhere}
 .shipping-option{grid-template-columns:22px minmax(0,1fr)!important;min-width:0}.shipping-price{grid-column:2;white-space:normal!important;text-align:left!important}.shipping-option>span{min-width:0}
 #nn-main>.nn-best{order:0!important}
 .nn-guide-tabs{display:flex!important;overflow-x:auto!important;gap:0;padding:8px!important;scroll-snap-type:x proximity}.nn-guide-tab{min-width:210px!important;max-width:240px;flex:0 0 210px;scroll-snap-align:start}
 .nn-guide-tab small{line-height:1.4}.nn-guide-media{height:250px!important}.nn-guide-copy{padding:22px!important}.nn-guide-copy .nn-buy-row{display:flex;flex-wrap:wrap;gap:14px}
 .nn-biurko{display:none!important}.nn-mobile-buy>div b{font-size:16px}.preview-grid img{max-height:490px}.preview-grid{grid-template-columns:1fr!important}
 .flow-wrap h1{overflow-wrap:anywhere}.audit-toc{padding:16px!important;font-size:15px}.audit-review-notes{font-size:14px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.nn-mobile-buy.audit-hide-floating{display:none!important}

/* UX audit 2026-09-19: WCAG AA contrast for meaningful small copy. */
.dose-full-bridge{background:#873047!important}
.nn-rozdzial.nn-szeroki p{color:#6f574e}

/* R02-R03 */
.audit-table-hint{margin:0 0 10px;color:#695b54;font:600 14px/1.5 Arial,sans-serif}
.audit-table-scroll{overflow-x:auto!important;max-width:100%;padding-bottom:8px;-webkit-overflow-scrolling:touch}
.audit-table-scroll table{display:table!important;width:100%;max-width:none!important;overflow:visible!important}
.ux-review,.ux-review strong,.ux-review p,.ux-review summary,.audit-footer,.audit-footer strong{color:#fff!important}
@media(max-width:700px){.audit-table-scroll table{width:760px!important;min-width:760px!important;font-size:15px!important;line-height:1.55}.audit-table-scroll th,.audit-table-scroll td{min-width:210px;padding:12px!important;vertical-align:top}}

/* Mobile: keep the guide title and its supporting line in separate rows. */
.nn-guide-tab>div{display:flex;min-width:0;flex-direction:column;gap:4px}
.nn-guide-tab b{display:block;line-height:1.25}
.nn-guide-tab small{display:block;margin-top:2px;line-height:1.45}
@media(max-width:700px){.nn-guide-tab{align-items:start}.nn-guide-tab b{line-height:1.25}.nn-guide-tab small{margin-top:3px;line-height:1.45}}
