<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Netopieka</title>
	<atom:link href="https://netopieka.pl/feed/" rel="self" type="application/rss+xml" />
	<link>https://netopieka.pl/</link>
	<description>Bezpieczne dzieci w sieci</description>
	<lastBuildDate>Mon, 08 Jun 2026 11:05:54 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>

<image>
	<url>https://netopieka.pl/wp-content/uploads/2025/09/cropped-NETOPIEKA-Logo-2-1-32x32.png</url>
	<title>Netopieka</title>
	<link>https://netopieka.pl/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Pierwszy smartfon: kiedy jest właściwy moment</title>
		<link>https://netopieka.pl/pierwszy-smartfon-kiedy-jest-wlasciwy-moment/</link>
					<comments>https://netopieka.pl/pierwszy-smartfon-kiedy-jest-wlasciwy-moment/#respond</comments>
		
		<dc:creator><![CDATA[Radek]]></dc:creator>
		<pubDate>Mon, 08 Jun 2026 10:42:01 +0000</pubDate>
				<category><![CDATA[Wszystkie]]></category>
		<guid isPermaLink="false">https://netopieka.pl/?p=5165</guid>

					<description><![CDATA[<p>Pierwszy smartfon: kiedy jest właściwy moment &#124; Netopieka.pl Blog / Smartfon / Pierwszy smartfon Smartfon &#183; Pierwsze urządzenie Pierwszy smartfon: kiedy jest właściwy moment Komunia, ósme urodziny, wejście do klasy czwartej. Smartfon w Polsce pojawia...</p>
<p>Artykuł <a href="https://netopieka.pl/pierwszy-smartfon-kiedy-jest-wlasciwy-moment/">Pierwszy smartfon: kiedy jest właściwy moment</a> pochodzi z serwisu <a href="https://netopieka.pl">Netopieka</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="5165" class="elementor elementor-5165">
				<div class="elementor-element elementor-element-9b1b03a e-con-full e-flex e-con e-parent" data-id="9b1b03a" data-element_type="container" data-e-type="container">
				<div class="elementor-element elementor-element-3746bce elementor-widget elementor-widget-html" data-id="3746bce" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Kiedy dać dziecku pierwszy smartfon? Nie chodzi o wiek - chodzi o gotowość. 5 pytań, które warto zadać zanim pudełko trafi pod choinkę. Bez straszenia, z danymi.">
<title>Pierwszy smartfon: kiedy jest właściwy moment | Netopieka.pl</title>

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=Montserrat:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">

<style>
:root {
  --teal: #20e3e3;
  --teal-soft: #20e3e333;
  --teal-glow: #20e3e360;
  --navy: #1a2b4a;
  --navy-deep: #0f1a2f;
  --navy-soft: #1a2b4ad9;
  --cream: #faf8f3;
  --cream-warm: #f4efe4;
  --paper: #fdfcf9;
  --ink: #1a2b4a;
  --ink-soft: #4a5878;
  --ink-mid: #2d3e5f;
  --line: #e8e2d3;
  --rose: #ff6b6b;
  --amber: #ffb84d;
  --warning-bg: #fff8e6;
  --warning-border: #ffd166;
  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Montserrat', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
  --radius: 14px;
  --radius-lg: 28px;
  --shadow-soft: 0 4px 30px rgba(26, 43, 74, 0.08);
  --shadow-hover: 0 20px 60px rgba(26, 43, 74, 0.18);
  --transition: cubic-bezier(0.22, 1, 0.36, 1);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { font-family: var(--font-body); background: var(--cream); color: var(--ink); line-height: 1.6; overflow-x: hidden; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }
::selection { background: var(--teal); color: var(--navy); }

.progress-bar { position: fixed; top: 0; left: 0; height: 3px; background: linear-gradient(90deg, var(--teal) 0%, var(--navy) 100%); width: 0%; z-index: 200; transition: width 0.1s linear; box-shadow: 0 0 12px var(--teal-glow); }

.bg-canvas { position: fixed; inset: 0; z-index: -1; overflow: hidden; background: var(--cream); }
.orb { position: absolute; border-radius: 50%; filter: blur(80px); opacity: 0.4; animation: float 18s ease-in-out infinite; }
.orb-1 { width: 380px; height: 380px; background: var(--teal); top: -100px; right: -80px; }
.orb-2 { width: 320px; height: 320px; background: var(--navy); bottom: 30%; left: -120px; opacity: 0.18; animation-delay: -8s; }

@keyframes float { 0%, 100% { transform: translate(0, 0) scale(1); } 33% { transform: translate(40px, -50px) scale(1.1); } 66% { transform: translate(-30px, 30px) scale(0.95); } }
@keyframes pulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.4); opacity: 0.6; } }

.article-hero { padding: 80px 40px 60px; max-width: 900px; margin: 0 auto; text-align: center; }

.breadcrumbs { display: flex; align-items: center; gap: 10px; justify-content: center; font-family: var(--font-mono); font-size: 12px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--ink-soft); margin-bottom: 28px; flex-wrap: wrap; opacity: 0; animation: fadeUp 0.8s var(--transition) 0.1s forwards; }
.breadcrumbs a { transition: color 0.3s; }
.breadcrumbs a:hover { color: var(--teal); }
.breadcrumbs .sep { opacity: 0.4; }
.breadcrumbs .current { color: var(--navy); font-weight: 500; }

.article-cat { display: inline-flex; align-items: center; gap: 10px; background: var(--paper); border: 1px solid var(--line); padding: 8px 16px; border-radius: 100px; font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 28px; opacity: 0; animation: fadeUp 0.8s var(--transition) 0.2s forwards; }
.article-cat-dot { width: 8px; height: 8px; background: var(--teal); border-radius: 50%; box-shadow: 0 0 8px var(--teal-glow); }

.article-title-main { font-family: var(--font-display); font-size: clamp(38px, 6vw, 72px); line-height: 1; font-weight: 400; letter-spacing: -0.035em; color: var(--navy); margin-bottom: 32px; font-variation-settings: "opsz" 144, "SOFT" 50; opacity: 0; animation: fadeUp 0.9s var(--transition) 0.3s forwards; }
.article-title-main em { font-style: italic; font-weight: 300; position: relative; display: inline-block; }
.article-title-main em::after { content: ''; position: absolute; bottom: 8%; left: -2%; width: 104%; height: 16%; background: var(--teal); z-index: -1; border-radius: 4px; transform: rotate(-1deg); opacity: 0.6; }

.article-lead { font-family: var(--font-display); font-size: clamp(18px, 2vw, 24px); line-height: 1.5; color: var(--ink-mid); font-weight: 300; font-style: italic; max-width: 700px; margin: 0 auto 40px; opacity: 0; animation: fadeUp 0.8s var(--transition) 0.45s forwards; }

.article-meta-row { display: flex; align-items: center; justify-content: center; gap: 24px; flex-wrap: wrap; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 13px; opacity: 0; animation: fadeUp 0.8s var(--transition) 0.6s forwards; }
.article-meta-author { display: flex; align-items: center; gap: 12px; font-weight: 600; color: var(--navy); }
.article-meta-info { display: flex; align-items: center; gap: 20px; font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--ink-soft); }
.article-meta-info span { display: flex; align-items: center; gap: 6px; }

.article-hero-image { max-width: 1200px; margin: 0 auto 60px; padding: 0 40px; opacity: 0; animation: fadeUp 1s var(--transition) 0.7s forwards; }
.hero-image-frame { aspect-ratio: 21/9; background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%); border-radius: var(--radius-lg); position: relative; overflow: hidden; display: grid; place-items: center; }
.hero-image-frame::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle at 30% 50%, var(--teal-glow) 0%, transparent 50%), radial-gradient(circle at 80% 30%, rgba(32, 227, 227, 0.15) 0%, transparent 50%); }
.hero-image-frame::after { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(32, 227, 227, 0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(32, 227, 227, 0.06) 1px, transparent 1px); background-size: 50px 50px; }
.hero-image-content { position: relative; z-index: 2; display: flex; align-items: center; gap: 60px; padding: 60px; }
.hero-bat-large { width: 200px; height: 200px; flex-shrink: 0; animation: floatUp 4s ease-in-out infinite; filter: drop-shadow(0 20px 40px rgba(32, 227, 227, 0.3)); }
@keyframes floatUp { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
.hero-image-text { color: var(--cream); font-family: var(--font-display); font-size: 32px; line-height: 1.2; font-weight: 400; font-style: italic; max-width: 480px; }
.hero-image-text em { color: var(--teal); font-style: normal; font-weight: 500; display: block; }

.article-layout { max-width: 1200px; margin: 0 auto; padding: 0 40px 80px; display: grid; grid-template-columns: 240px 1fr; gap: 80px; }

.toc { position: sticky; top: 40px; align-self: start; font-size: 13px; }
.toc-label { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.18em; color: var(--teal); margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }
.toc-label::before { content: ''; width: 24px; height: 1px; background: var(--teal); }
.toc ul { list-style: none; border-left: 1px solid var(--line); padding-left: 0; }
.toc li { position: relative; }
.toc a { display: block; padding: 10px 0 10px 18px; color: var(--ink-soft); transition: all 0.3s var(--transition); position: relative; line-height: 1.4; font-weight: 500; }
.toc a::before { content: ''; position: absolute; left: -1px; top: 50%; width: 2px; height: 0; background: var(--teal); transform: translateY(-50%); transition: height 0.3s var(--transition); }
.toc a:hover { color: var(--navy); padding-left: 22px; }
.toc a.active { color: var(--navy); font-weight: 600; }
.toc a.active::before { height: 100%; }
.toc-share { margin-top: 40px; padding-top: 30px; border-top: 1px solid var(--line); }
.toc-share-label { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.18em; color: var(--ink-soft); margin-bottom: 16px; }
.share-buttons { display: flex; gap: 8px; }
.share-btn { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); background: var(--paper); display: grid; place-items: center; transition: all 0.3s var(--transition); color: var(--navy); }
.share-btn:hover { background: var(--navy); color: var(--cream); border-color: var(--navy); transform: translateY(-3px); }

.article-content { font-size: 17px; line-height: 1.75; color: var(--ink-mid); max-width: 720px; }
.article-content > p:first-child::first-letter { font-family: var(--font-display); font-size: 76px; font-weight: 400; float: left; line-height: 0.85; margin: 8px 14px 0 0; color: var(--navy); font-style: italic; }
.article-content p { margin-bottom: 28px; }
.article-content h2 { font-family: var(--font-display); font-size: clamp(28px, 3.5vw, 40px); line-height: 1.1; font-weight: 400; letter-spacing: -0.025em; color: var(--navy); margin: 60px 0 24px; scroll-margin-top: 100px; }
.article-content h2 em { font-style: italic; color: var(--ink-mid); font-weight: 300; }
.article-content h3 { font-family: var(--font-display); font-size: 24px; font-weight: 500; color: var(--navy); margin: 36px 0 16px; letter-spacing: -0.015em; }
.article-content a { color: var(--navy); border-bottom: 2px solid var(--teal); font-weight: 500; transition: all 0.3s; }
.article-content a:hover { background: var(--teal); color: var(--navy); padding: 0 4px; margin: 0 -4px; }
.article-content strong { color: var(--navy); font-weight: 700; }
.article-content em { font-family: var(--font-display); font-style: italic; color: var(--navy); }

.pull-quote { margin: 50px -40px; padding: 40px; background: var(--paper); border-left: 4px solid var(--teal); border-radius: 4px; font-family: var(--font-display); font-size: clamp(22px, 2.4vw, 30px); line-height: 1.3; font-weight: 400; font-style: italic; color: var(--navy); letter-spacing: -0.015em; position: relative; }
.pull-quote::before { content: '\201C'; position: absolute; top: -10px; left: 24px; font-size: 80px; color: var(--teal); font-family: var(--font-display); line-height: 1; opacity: 0.4; }
.pull-quote-attr { display: block; margin-top: 16px; font-family: var(--font-mono); font-size: 12px; text-transform: uppercase; letter-spacing: 0.15em; font-style: normal; color: var(--ink-soft); font-weight: 500; }

.signal-list { margin: 40px 0; display: flex; flex-direction: column; gap: 16px; list-style: none; padding: 0 !important; }
.signal-item { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px 28px 28px 90px; position: relative; transition: all 0.4s var(--transition); }
.signal-item:hover { border-color: var(--navy); transform: translateX(4px); box-shadow: var(--shadow-soft); }
.signal-num { position: absolute; left: 24px; top: 24px; width: 48px; height: 48px; border-radius: 50%; background: var(--navy); color: var(--teal); display: grid; place-items: center; font-family: var(--font-display); font-size: 22px; font-weight: 500; font-style: italic; }
.signal-item:hover .signal-num { background: var(--teal); color: var(--navy); }
.signal-title { font-family: var(--font-display); font-size: 22px; font-weight: 500; color: var(--navy); margin-bottom: 8px; line-height: 1.2; }
.signal-desc { font-size: 15px; line-height: 1.65; color: var(--ink-soft); margin: 0 !important; }

.callout { margin: 40px 0; padding: 28px 32px; background: var(--warning-bg); border: 1px solid var(--warning-border); border-radius: var(--radius); display: flex; gap: 20px; align-items: flex-start; }
.callout-icon { flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; background: var(--amber); display: grid; place-items: center; color: var(--navy); }
.callout-content h4 { font-family: var(--font-display); font-size: 20px; font-weight: 500; color: var(--navy); margin-bottom: 6px; }
.callout-content p { font-size: 15px; line-height: 1.6; color: var(--ink-mid); margin: 0 !important; }
.callout.info { background: rgba(32, 227, 227, 0.08); border-color: var(--teal); }
.callout.info .callout-icon { background: var(--teal); }

.checklist { list-style: none; padding: 0 !important; margin: 30px 0; }
.checklist li { position: relative; padding: 14px 0 14px 38px; border-bottom: 1px solid var(--line); font-size: 16px; color: var(--ink-mid); cursor: pointer; user-select: none; transition: color 0.3s, opacity 0.3s; }
.checklist li:last-child { border-bottom: none; }
.checklist li::before { content: ''; position: absolute; left: 0; top: 18px; width: 22px; height: 22px; border: 2px solid var(--teal); border-radius: 6px; background: transparent; transition: all 0.3s; }
.checklist li::after { content: ''; position: absolute; left: 7px; top: 22px; width: 8px; height: 12px; border-right: 2.5px solid var(--navy); border-bottom: 2.5px solid var(--navy); transform: rotate(45deg) scale(0); transition: transform 0.25s var(--transition); }
.checklist li:not(.checked):hover::before { background: var(--teal-soft); }
.checklist li:not(.checked):hover::after { transform: rotate(45deg) scale(0.85); opacity: 0.4; }
.checklist li.checked::before { background: var(--teal); }
.checklist li.checked::after { transform: rotate(45deg) scale(1); opacity: 1; }
.checklist li.checked { color: var(--ink-soft); opacity: 0.7; text-decoration: line-through; text-decoration-color: var(--teal); text-decoration-thickness: 2px; }

.article-tags { margin: 60px 0 0; padding-top: 30px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.tags-label { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.15em; color: var(--ink-soft); margin-right: 8px; }
.tag { display: inline-flex; align-items: center; padding: 8px 14px; background: var(--paper); border: 1px solid var(--line); border-radius: 100px; font-size: 12px; font-weight: 500; transition: all 0.3s; }
.tag::before { content: '#'; color: var(--teal); margin-right: 4px; font-weight: 700; }
.tag:hover { background: var(--navy); color: var(--cream); border-color: var(--navy); transform: translateY(-2px); }

.author-box { max-width: 900px; margin: 80px auto; padding: 0 40px; }
.author-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 50px; display: grid; grid-template-columns: auto 1fr; gap: 40px; align-items: center; position: relative; overflow: hidden; }
.author-card::before { content: ''; position: absolute; top: -50%; right: -100px; width: 300px; height: 300px; background: radial-gradient(circle, var(--teal-glow) 0%, transparent 60%); opacity: 0.3; filter: blur(40px); }
.author-info { position: relative; z-index: 2; }
.author-label { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.15em; color: var(--teal); margin-bottom: 8px; }
.author-name { font-family: var(--font-display); font-size: 32px; font-weight: 500; color: var(--navy); margin-bottom: 4px; letter-spacing: -0.02em; }
.author-role { font-size: 14px; color: var(--ink-soft); margin-bottom: 16px; font-weight: 500; }
.author-bio { font-size: 15px; line-height: 1.65; color: var(--ink-mid); margin-bottom: 20px; max-width: 540px; }
.author-links { display: flex; gap: 12px; flex-wrap: wrap; }
.author-link { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; background: transparent; border: 1px solid var(--navy); border-radius: 100px; font-size: 13px; font-weight: 600; color: var(--navy); transition: all 0.3s var(--transition); }
.author-link:hover { background: var(--navy); color: var(--cream); transform: translateY(-2px); }
.author-link.primary { background: var(--navy); color: var(--cream); }
.author-link.primary:hover { background: var(--teal); color: var(--navy); border-color: var(--teal); box-shadow: 0 10px 25px var(--teal-glow); }

.course-cta { max-width: 1200px; margin: 80px auto; padding: 0 40px; }
.cta-card { background: var(--navy); border-radius: var(--radius-lg); padding: 60px; display: grid; grid-template-columns: 1.3fr 1fr; gap: 60px; align-items: center; position: relative; overflow: hidden; color: var(--cream); }
.cta-card::before { content: ''; position: absolute; bottom: -150px; left: -100px; width: 500px; height: 500px; background: radial-gradient(circle, var(--teal-glow) 0%, transparent 60%); opacity: 0.5; animation: pulse-glow 6s ease-in-out infinite; }
@keyframes pulse-glow { 0%, 100% { transform: scale(1); opacity: 0.5; } 50% { transform: scale(1.1); opacity: 0.7; } }
.cta-content { position: relative; z-index: 2; }
.cta-eyebrow { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.18em; color: var(--teal); margin-bottom: 18px; display: flex; align-items: center; gap: 12px; }
.cta-eyebrow::before { content: ''; width: 28px; height: 1px; background: var(--teal); }
.cta-title { font-family: var(--font-display); font-size: clamp(28px, 3.5vw, 44px); line-height: 1.05; font-weight: 400; letter-spacing: -0.025em; margin-bottom: 16px; }
.cta-title em { font-style: italic; color: var(--teal); }
.cta-desc { font-size: 15px; line-height: 1.7; opacity: 0.85; margin-bottom: 28px; max-width: 460px; }
.cta-features { display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; }
.cta-features li { display: flex; align-items: center; gap: 12px; font-size: 14px; list-style: none; }
.cta-features svg { color: var(--teal); flex-shrink: 0; }
.cta-buttons { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.cta-price { display: flex; align-items: baseline; gap: 8px; font-family: var(--font-display); }
.cta-price-old { font-size: 18px; text-decoration: line-through; opacity: 0.5; }
.cta-price-new { font-size: 32px; color: var(--teal); font-weight: 500; }
.cta-button { display: inline-flex; align-items: center; gap: 10px; background: var(--teal); color: var(--navy); padding: 16px 28px; border-radius: 100px; font-weight: 600; font-size: 14px; transition: all 0.3s var(--transition); }
.cta-button:hover { background: var(--cream); transform: translateY(-3px); box-shadow: 0 15px 40px rgba(32, 227, 227, 0.3); }
.cta-visual { position: relative; z-index: 2; display: grid; place-items: center; }
.cta-mockup { width: 100%; max-width: 320px; aspect-ratio: 4/5; background: linear-gradient(135deg, var(--paper) 0%, var(--cream-warm) 100%); border-radius: var(--radius-lg); padding: 24px; position: relative; transform: rotate(3deg); box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); animation: bookFloat 5s ease-in-out infinite; }
@keyframes bookFloat { 0%, 100% { transform: rotate(3deg) translateY(0); } 50% { transform: rotate(3deg) translateY(-10px); } }
.cta-mockup-label { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.18em; color: var(--teal); margin-bottom: 14px; display: flex; align-items: center; gap: 8px; }
.cta-mockup-label::before { content: ''; width: 6px; height: 6px; background: var(--teal); border-radius: 50%; }
.cta-mockup-title { font-family: var(--font-display); font-size: 26px; line-height: 1.1; color: var(--navy); font-weight: 500; margin-bottom: 20px; letter-spacing: -0.02em; }
.cta-mockup-title em { font-style: italic; font-weight: 300; display: block; }
.cta-mockup-modules { display: flex; flex-direction: column; gap: 8px; }
.cta-mockup-modules div { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: var(--cream); border-radius: 8px; font-size: 11px; color: var(--ink-mid); font-weight: 500; }
.cta-mockup-modules div::before { content: ''; width: 6px; height: 6px; background: var(--teal); border-radius: 50%; flex-shrink: 0; }
.cta-mockup-bat { position: absolute; bottom: -16px; right: -16px; width: 70px; height: 70px; background: var(--navy); border-radius: 50%; display: grid; place-items: center; border: 3px solid var(--cream); box-shadow: 0 8px 20px rgba(26, 43, 74, 0.3); }
.cta-mockup-bat svg { width: 60%; height: 60%; }

.related { max-width: 1400px; margin: 0 auto; padding: 80px 40px; }
.related-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 50px; flex-wrap: wrap; gap: 20px; }
.related-head .section-eyebrow { font-family: var(--font-mono); font-size: 12px; text-transform: uppercase; letter-spacing: 0.18em; color: var(--teal); margin-bottom: 14px; display: flex; align-items: center; gap: 12px; }
.related-head .section-eyebrow::before { content: ''; width: 28px; height: 1px; background: var(--teal); }
.related-title { font-family: var(--font-display); font-size: clamp(32px, 4vw, 52px); line-height: 1; font-weight: 400; letter-spacing: -0.03em; color: var(--navy); }
.related-title em { font-style: italic; }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.related-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; transition: all 0.5s var(--transition); cursor: pointer; display: flex; flex-direction: column; }
.related-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-hover); border-color: var(--navy); }
.related-image { aspect-ratio: 16/10; position: relative; display: grid; place-items: center; overflow: hidden; }
.related-image[data-color="teal"] { background: linear-gradient(135deg, var(--teal) 0%, #18c4c4 100%); }
.related-image[data-color="navy"] { background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%); }
.related-image[data-color="cream"] { background: linear-gradient(135deg, var(--cream-warm) 0%, #ede5d0 100%); }
.related-image svg { width: 50%; height: 50%; transition: transform 0.6s var(--transition); }
.related-card:hover .related-image svg { transform: scale(1.08) rotate(-3deg); }
.related-cat-badge { position: absolute; top: 16px; left: 16px; background: var(--cream); color: var(--navy); padding: 6px 12px; border-radius: 100px; font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.12em; font-weight: 500; }
.related-body { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.related-meta { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink-soft); margin-bottom: 12px; }
.related-card-title { font-family: var(--font-display); font-size: 22px; line-height: 1.15; font-weight: 500; letter-spacing: -0.02em; color: var(--navy); }

.newsletter { padding: 80px 40px; }
.newsletter-inner { max-width: 1200px; margin: 0 auto; background: var(--navy); border-radius: var(--radius-lg); padding: 72px 64px; position: relative; overflow: hidden; display: grid; grid-template-columns: 1.3fr 1fr; gap: 60px; align-items: center; text-align: left; }
.newsletter-inner::before { content: ''; position: absolute; top: -200px; right: -150px; width: 500px; height: 500px; background: radial-gradient(circle, var(--teal-glow) 0%, transparent 60%); opacity: 0.7; animation: pulse-glow 6s ease-in-out infinite; }
.newsletter-content { position: relative; z-index: 2; color: var(--cream); }
.newsletter-eyebrow { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.18em; color: var(--teal); margin-bottom: 16px; display: inline-flex; align-items: center; gap: 12px; }
.newsletter-eyebrow::before { content: ''; width: 28px; height: 1px; background: var(--teal); }
.newsletter-title { font-family: var(--font-display); font-size: clamp(30px, 4vw, 48px); line-height: 1.05; font-weight: 400; letter-spacing: -0.025em; color: var(--cream); margin-bottom: 16px; }
.newsletter-title em { font-style: italic; color: var(--teal); }
.newsletter-desc { font-size: 15px; line-height: 1.7; color: rgba(250, 248, 243, 0.84); max-width: 460px; margin: 0 0 28px; }
.newsletter-form { display: flex; gap: 6px; background: rgba(255, 255, 255, 0.09); border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 100px; padding: 6px; max-width: 460px; margin: 0; backdrop-filter: blur(10px); }
.newsletter-form input { flex: 1; background: transparent; border: none; outline: none; padding: 13px 22px; color: var(--cream); font-family: var(--font-body); font-size: 14px; }
.newsletter-form input::placeholder { color: rgba(250, 248, 243, 0.5); }
.newsletter-form button { background: var(--teal); color: var(--navy); padding: 13px 24px; border-radius: 100px; font-weight: 600; font-size: 13px; transition: all 0.3s var(--transition); display: flex; align-items: center; gap: 8px; }
.newsletter-form button:hover { background: var(--cream); transform: translateY(-1px); }
.newsletter-bullets { display: flex; gap: 18px; margin-top: 20px; font-size: 12px; color: rgba(250, 248, 243, 0.7); flex-wrap: wrap; }
.newsletter-bullets span { display: flex; align-items: center; gap: 6px; }
.newsletter-ebook { position: relative; z-index: 2; display: grid; place-items: center; perspective: 1000px; }
.newsletter-ebook img { width: 240px; border-radius: 6px 20px 20px 6px; box-shadow: -10px 14px 40px rgba(0, 0, 0, 0.35); transform: rotateY(-14deg) rotateX(6deg); animation: bookFloat3d 5s ease-in-out infinite; }
@keyframes bookFloat3d { 0%, 100% { transform: rotateY(-14deg) rotateX(6deg) translateY(0); } 50% { transform: rotateY(-14deg) rotateX(6deg) translateY(-10px); } }

.newsletter-content .ml-embedded .ml-form-embedWrapper,
.newsletter-content .ml-embedded .ml-form-embed,
.newsletter-content .ml-form-embedWrapper { background: transparent !important; background-color: transparent !important; border: none !important; box-shadow: none !important; border-radius: 0 !important; }
.newsletter-content .ml-embedded .ml-form-embedBody,
.newsletter-content .ml-embedded .ml-form-embedBodyDefault { background: transparent !important; padding: 0 !important; }
.newsletter-content .ml-embedded .ml-form-embedContent,
.newsletter-content .ml-embedded .ml-form-embedContent h4,
.newsletter-content .ml-embedded .ml-form-embedContent p { display: none !important; }
.newsletter-content .ml-embedded input[type="email"] { background-color: rgba(255,255,255,0.1) !important; color: #faf8f3 !important; border: 1px solid rgba(255,255,255,0.2) !important; border-radius: 12px !important; font-family: 'Montserrat', sans-serif !important; font-size: 14px !important; padding: 13px 18px !important; width: 100% !important; }
.newsletter-content .ml-embedded input[type="email"]::placeholder { color: rgba(250,248,243,0.5) !important; }
.newsletter-content .ml-embedded .ml-form-embedSubmit button,
.newsletter-content .ml-embedded button[type="submit"],
.newsletter-content .ml-embedded .primary { background-color: #20e3e3 !important; color: #1a2b4a !important; border: none !important; border-radius: 100px !important; font-family: 'Montserrat', sans-serif !important; font-weight: 700 !important; font-size: 14px !important; padding: 13px 28px !important; width: 100% !important; cursor: pointer !important; }
.newsletter-content .ml-embedded button[type="submit"]:hover { background-color: #faf8f3 !important; color: #1a2b4a !important; }
.newsletter-content .ml-embedded .ml-form-embedPermissions p,
.newsletter-content .ml-embedded .ml-form-embedPermissions a { color: rgba(250,248,243,0.65) !important; font-size: 12px !important; }
.newsletter-content .ml-embedded .ml-form-successBody,
.newsletter-content .ml-embedded .ml-form-successContent { background: transparent !important; padding: 0 !important; }
.newsletter-content .ml-embedded .ml-form-successContent h4 { color: #20e3e3 !important; font-family: 'Montserrat', sans-serif !important; font-size: 22px !important; }
.newsletter-content .ml-embedded .ml-form-successContent p { color: rgba(250,248,243,0.84) !important; }

@keyframes fadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
.reveal { opacity: 0; transform: translateY(40px); transition: opacity 0.8s var(--transition), transform 0.8s var(--transition); }
.reveal.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1024px) {
  .article-layout { grid-template-columns: 1fr; gap: 0; }
  .toc { display: none; }
  .hero-image-content { flex-direction: column; gap: 30px; padding: 40px; text-align: center; }
  .hero-bat-large { width: 140px; height: 140px; }
  .hero-image-text { font-size: 22px; }
  .author-card { grid-template-columns: 1fr; text-align: center; padding: 40px; }
  .cta-card { grid-template-columns: 1fr; padding: 50px 40px; }
  .related-grid { grid-template-columns: repeat(2, 1fr); }
  .newsletter-inner { grid-template-columns: 1fr; padding: 56px 40px; }
  .newsletter-ebook { display: none; }
}
@media (max-width: 720px) {
  .article-hero { padding: 60px 20px 40px; }
  .article-hero-image { padding: 0 20px; margin-bottom: 40px; }
  .article-layout { padding: 0 20px 60px; }
  .article-content { font-size: 16px; }
  .article-content > p:first-child::first-letter { font-size: 56px; }
  .pull-quote { margin: 30px -20px; padding: 30px 24px; }
  .signal-item { padding: 24px 20px 24px 70px; }
  .signal-num { left: 16px; top: 20px; width: 40px; height: 40px; font-size: 18px; }
  .author-box { padding: 0 20px; margin: 60px auto; }
  .author-card { padding: 30px 24px; }
  .course-cta { padding: 0 20px; margin: 60px auto; }
  .cta-card { padding: 40px 24px; }
  .related { padding: 60px 20px; }
  .related-grid { grid-template-columns: 1fr; }
  .newsletter { padding: 60px 20px; }
  .newsletter-inner { padding: 44px 28px; }
  .newsletter-form { flex-direction: column; border-radius: 24px; }
  .newsletter-form button { width: 100%; justify-content: center; }
}
</style>
</head>
<body>

<div class="progress-bar" id="progressBar"></div>

<div class="bg-canvas">
  <div class="orb orb-1"></div>
  <div class="orb orb-2"></div>
</div>

<!-- HERO -->
<header class="article-hero">
  <nav class="breadcrumbs">
    <a href="/blog">Blog</a>
    <span class="sep">/</span>
    <a href="/category/smartfon/">Smartfon</a>
    <span class="sep">/</span>
    <span class="current">Pierwszy smartfon</span>
  </nav>

  <div class="article-cat">
    <span class="article-cat-dot"></span>
    Smartfon &middot; Pierwsze urządzenie
  </div>

  <h1 class="article-title-main">
    Pierwszy smartfon: kiedy jest <em>właściwy moment</em>
  </h1>

  <p class="article-lead">
    Komunia, ósme urodziny, wejście do klasy czwartej. Smartfon w Polsce pojawia się przy okazji. Rzadko jest to przemyślana decyzja. Częściej - impuls. Oto jak to zmienić.
  </p>

  <div class="article-meta-row">
    <div class="article-meta-author">
      <img decoding="async" src="https://netopieka.pl/wp-content/uploads/2026/05/Radek_twarz.png"
           alt="Radek Biernacki"
           style="width:42px;height:52px;border-radius:50%;object-fit:cover;object-position:center 20%;flex-shrink:0;">
      Radek B.
    </div>
    <div class="article-meta-info">
      <span>
        <svg width="14" height="14" viewBox="0 0 14 14" fill="none">
          <circle cx="7" cy="7" r="6" stroke="currentColor" stroke-width="1.5"/>
          <path d="M7 4v3l2 1.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
        </svg>
        7 min czytania
      </span>
      <span>
        <svg width="14" height="14" viewBox="0 0 14 14" fill="none">
          <path d="M2 3h10v8H2z M2 3l5 4 5-4" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
        </svg>
        8 czerwca 2026
      </span>
    </div>
  </div>
</header>

<!-- HERO IMAGE -->
<div class="article-hero-image">
  <div class="hero-image-frame">
    <div class="hero-image-content">
      <svg class="hero-bat-large" viewBox="0 0 200 200" fill="none">
        <path d="M100 40 C70 40, 50 65, 50 95 C50 110, 56 120, 62 124 L100 102 L138 124 C144 120, 150 110, 150 95 C150 65, 130 40, 100 40 Z" fill="#1a2b4a" stroke="#20e3e3" stroke-width="1.5"/>
        <circle cx="78" cy="85" r="6" fill="#20e3e3"/>
        <circle cx="122" cy="85" r="6" fill="#20e3e3"/>
        <circle cx="78" cy="85" r="2" fill="#0f1a2f"/>
        <circle cx="122" cy="85" r="2" fill="#0f1a2f"/>
        <path d="M62 124 L52 145 L70 138 Z" fill="#1a2b4a" stroke="#20e3e3" stroke-width="1"/>
        <path d="M138 124 L148 145 L130 138 Z" fill="#1a2b4a" stroke="#20e3e3" stroke-width="1"/>
        <path d="M88 100 L92 105 M112 100 L108 105" stroke="#20e3e3" stroke-width="1.5" stroke-linecap="round"/>
        <rect x="88" y="128" width="24" height="38" rx="4" fill="#20e3e3" opacity="0.9"/>
        <rect x="91" y="132" width="18" height="26" rx="2" fill="#0f1a2f"/>
        <circle cx="100" cy="162" r="2" fill="#20e3e3"/>
        <rect x="93" y="134" width="14" height="1.5" rx="1" fill="#20e3e3" opacity="0.4"/>
      </svg>
      <div class="hero-image-text">
        Nie wiek dziecka.
        <em>Gotowość rodziny.</em>
      </div>
    </div>
  </div>
</div>

<!-- ARTICLE LAYOUT -->
<div class="article-layout">

  <!-- TOC -->
  <aside class="toc">
    <div class="toc-label">W tym artykule</div>
    <ul>
      <li><a href="#intro" class="active">Wprowadzenie</a></li>
      <li><a href="#gdzie-jestesmy">Gdzie jesteśmy</a></li>
      <li><a href="#badania">Co mówią badania</a></li>
      <li><a href="#wiek">Wiek to wskazówka</a></li>
      <li><a href="#pytania">5 pytań przed zakupem</a></li>
      <li><a href="#alternatywy">Alternatywy</a></li>
      <li><a href="#szkola">A co ze szkołą?</a></li>
      <li><a href="#podsumowanie">Podsumowanie</a></li>
    </ul>
    <div class="toc-share">
      <div class="toc-share-label">Udostępnij</div>
      <div class="share-buttons">
        <button class="share-btn" aria-label="Facebook">
          <svg width="14" height="14" viewBox="0 0 16 16" fill="none">
            <path d="M9 14V8.5h2L11.5 6h-2.5V4.5C9 3.7 9.3 3 10.5 3H12V1h-2c-2 0-3 1.2-3 3v2H5v2.5h2V14" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
          </svg>
        </button>
        <button class="share-btn" aria-label="Twitter/X">
          <svg width="14" height="14" viewBox="0 0 16 16" fill="none">
            <path d="M14 4.5c-.5.2-1 .4-1.5.4.5-.3 1-.8 1.2-1.4-.5.3-1 .5-1.6.6-.5-.5-1.2-.8-2-.8-1.5 0-2.7 1.2-2.7 2.7 0 .2 0 .4.1.6C5.2 6.5 3 5.3 1.5 3.5c-.2.4-.3.8-.3 1.3 0 .9.5 1.7 1.2 2.2-.4 0-.8-.1-1.2-.3 0 1.3.9 2.4 2.2 2.7-.2.1-.5.1-.7.1-.2 0-.3 0-.5-.1.3 1.1 1.3 1.9 2.5 1.9-1 .7-2.1 1.2-3.4 1.2H1c1.2.7 2.6 1.2 4.1 1.2 4.9 0 7.6-4.1 7.6-7.6v-.3c.5-.4 1-.8 1.3-1.3z" fill="currentColor"/>
          </svg>
        </button>
        <button class="share-btn" aria-label="Kopiuj link">
          <svg width="14" height="14" viewBox="0 0 16 16" fill="none">
            <path d="M6 10l4-4M6 6l-2 2c-1 1-1 3 0 4s3 1 4 0l1-1M10 10l2-2c1-1 1-3 0-4s-3-1-4 0l-1 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
          </svg>
        </button>
      </div>
    </div>
  </aside>

  <!-- CONTENT -->
  <article class="article-content">

    <p id="intro">Komunia, ósme urodziny, wejście do klasy czwartej. Smartfon w Polsce pojawia się przy okazji. Rzadko jest to przemyślana decyzja - częściej impuls, presja środowiskowa albo próba uniknięcia konfliktu z dzieckiem, które "jako jedyne w klasie nie ma telefonu".</p>

    <p>Ten artykuł nie odpowiada na pytanie "który wiek jest właściwy". Bo nie ma jednej odpowiedzi. Jest za to kilka pytań, które warto zadać - zanim pudełko ze smartfonem znajdzie się pod choinką lub w kopercie z życzeniami.</p>

    <h2 id="gdzie-jestesmy">Gdzie <em>jesteśmy</em></h2>

    <p>Dane NASK z edycji "Nastolatki 2024/2025" są jednoznaczne: czworo na dziesięcioro polskich dzieci ma własny smartfon z dostępem do sieci jeszcze przed dziewiątymi urodzinami. Wśród uczniów klas siódmych i ósmych aż 45% miało pierwszy smartfon przed ukończeniem dziewięciu lat.</p>

    <p>To nie jest kwestia zamożności ani nieostrożności rodziców. To kwestia środowiska. Kiedy większość klasy ma smartfon, nacisk społeczny jest ogromny - zarówno na dziecko, jak i na rodzica.</p>

    <div class="callout">
      <div class="callout-icon">
        <svg width="20" height="20" viewBox="0 0 20 20" fill="none">
          <path d="M10 2L2 17h16L10 2z M10 8v4 M10 14h0" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
        </svg>
      </div>
      <div class="callout-content">
        <h4>71% nastolatków uważa się za uzależnionych od telefonu</h4>
        <p>Raport "Diagnoza Młodzieży 2026" Ministerstwa Edukacji. Nie "spędza za dużo czasu" - uważa się za uzależnionych. To nie powód do paniki. To powód do refleksji, czy decyzja o pierwszym smartfonie była przemyślana, czy po prostu nadeszła chwila.</p>
      </div>
    </div>

    <h2 id="badania">Co mówią <em>badania</em></h2>

    <p>Badanie Sapien Labs opublikowane w 2025 roku w "Journal of Human Development and Capabilities" przeanalizowało grupę młodych dorosłych w wieku 18-24 lat z 163 krajów. Wniosek jest wyraźny: osoby, które dostały pierwszy smartfon przed 13. rokiem życia, częściej zgłaszają trudności z regulowaniem emocji, niższe poczucie własnej wartości i problemy z poczuciem własnej tożsamości. Wzorzec był spójny niezależnie od kraju i kultury.</p>

    <p>Większość platform społecznościowych ustala minimalny wiek użytkownika na 13 lat - ale egzekwowanie tych ograniczeń jest nieefektywne. Tymczasem średni wiek uzyskania pierwszego smartfona w Polsce wciąż się obniża.</p>

    <div class="pull-quote">
      Im wcześniej, tym więcej czynników ryzyka. Im później - tym niższe ryzyko. To użyteczna informacja, nie straszak.
      <span class="pull-quote-attr">Wnioski z badań Sapien Labs, 2025</span>
    </div>

    <p>Żadne badanie nie mówi: "daj dziecku smartfon a zrujnujesz mu zdrowie". Mówi coś innego i przy okazji bardziej użytecznego: to nie jest decyzja, którą podejmuje się raz i o której się zapomina. To seria decyzji - o tym, jakie urządzenie kupić, na jakich warunkach, z jakim planem i z jakim zapleczem rozmów.</p>

    <h2 id="wiek">Wiek to wskazówka, <em>nie przepis</em></h2>

    <p>Większość ekspertów zajmujących się rozwojem dzieci wskazuje na 13-14. rok życia jako minimalny próg dla smartfona z pełnym dostępem do internetu. Ale to liczby dla przeciętnych warunków - nie dla konkretnego dziecka w konkretnej rodzinie.</p>

    <p>Dziecko, które ma dziesięć lat, ale potrafi dotrzymać umów, samo zgłasza kiedy coś w sieci wydaje się dziwne i rozumie powód zasad - może być gotowe wcześniej. Czternastolatek, który nie umie odłożyć urządzenia kiedy trzeba i reaguje agresją na każde ograniczenie - nie jest gotowy, bez względu na wiek.</p>

    <p><strong>Gotowość to dojrzałość emocjonalna i społeczna, nie liczba na metryce.</strong> To pytanie o samoregulację, zaufanie i relację z rodzicem - nie o to, czy inni w klasie już mają.</p>

    <h2 id="pytania">5 pytań <em>przed zakupem</em></h2>

    <p>Zanim zapadnie decyzja, warto zadać sobie (i dziecku) te pięć pytań. Nie jako listę kontrolną, w której muszą być zaznaczone wszystkie punkty - ale jako narzędzie do rozmowy.</p>

    <ol class="signal-list">

      <li class="signal-item">
        <div class="signal-num">1</div>
        <h3 class="signal-title">Czy dziecko rozumie, dlaczego dostaje smartfon?</h3>
        <p class="signal-desc">Nie "bo inni mają" ani "bo się prosiło". Rozumienie celu - kontakt z rodzicem, samodzielność w drodze do szkoły, konkretna potrzeba - to podstawa. Bez tego smartfon staje się nagrodą, a nie narzędziem.</p>
      </li>

      <li class="signal-item">
        <div class="signal-num">2</div>
        <h3 class="signal-title">Czy dziecko potrafi dotrzymywać wcześniejszych umów?</h3>
        <p class="signal-desc">Jeśli do tej pory "godzina na tablecie" zawsze kończyła się awanturą, nowy smartfon nie zmieni wzorca - zmieni skalę problemu. Warto najpierw sprawdzić, czy dziecko respektuje granice przy urządzeniach, które już ma.</p>
      </li>

      <li class="signal-item">
        <div class="signal-num">3</div>
        <h3 class="signal-title">Czy rodzina ma gotowy plan zasad korzystania?</h3>
        <p class="signal-desc">Nie luźne wyobrażenia - konkretne zasady. Kiedy można, kiedy nie. Gdzie telefon sypia. Które aplikacje tak, które nie. Umowa spisana i podpisana przez obie strony działa lepiej niż słowna deklaracja. Najlepiej ustalić zasady zanim smartfon trafi w ręce dziecka.</p>
      </li>

      <li class="signal-item">
        <div class="signal-num">4</div>
        <h3 class="signal-title">Czy dziecko wie, co zrobić gdy coś w sieci wyda się nieprzyjemne?</h3>
        <p class="signal-desc">To pytanie ważniejsze niż "czy wiesz, jak nie rozmawiać z obcymi". Dzieci wiedzą teorię. Pytanie brzmi: czy przyjdzie do rodzica, czy ukryje? Dzieci, które wiedzą, że mogą wrócić z każdą informacją - nawet jeśli "zrobiły coś głupiego" - są bezpieczniejsze.</p>
      </li>

      <li class="signal-item">
        <div class="signal-num">5</div>
        <h3 class="signal-title">Czy to jest właściwy moment dla rodziny - nie tylko dla dziecka?</h3>
        <p class="signal-desc">Nowy smartfon wymaga zaangażowania rodzica - przynajmniej przez pierwsze miesiące. Wspólna konfiguracja, rozmowy, sprawdzanie. Jeśli nie ma na to czasu i przestrzeni, może lepiej poczekać na spokojniejszy okres.</p>
      </li>

    </ol>

    <h2 id="alternatywy">Zanim smartfon - <em>alternatywy, które działają</em></h2>

    <p>Dla dzieci w klasach 1-4 istnieje kilka rozwiązań, które dają kontakt z rodzicem bez pełnego dostępu do internetu. Warto je rozważyć, zanim sięgnie się po smartfon. Kliknij, by odhaczyć to, co już rozważono:</p>

    <ul class="checklist">
      <li><strong>Zegarek z funkcją dzwonienia</strong> (np. Xplora, Garett Kids) - dziecko może zadzwonić do rodzica, rodzic może zlokalizować dziecko. Brak social mediów i przeglądarki. Uwaga: od września 2026 warto zapytać szkołę, czy zegarek będzie dozwolony.</li>
      <li><strong>Prosta komórka bez internetu</strong> - tzw. "cegła" z funkcją dzwonienia i SMS-ów. Nie wiadomo jeszcze, czy nowe przepisy obejmą proste telefony - warto zapytać szkołę przed zakupem.</li>
      <li><strong>Sekretariat szkoły</strong> - proste i niedoceniane. Dziecko wie, że w nagłym wypadku może poprosić o telefon do rodzica. Dla wielu rodzin wystarczy na lata szkolne 1-3.</li>
      <li><strong>Smartfon z ograniczeniami</strong> (klasy 5-8) - smartfon z kontrolą rodzicielską, bez dostępu do wszystkich aplikacji. Kompromis między potrzebą a gotowością.</li>
      <li><strong>Wspólny tablet domowy</strong> - dostęp do internetu pod kontrolą rodzica, bez własnego urządzenia. Pozwala stopniowo uczyć się odpowiedzialności przed pełnym dostępem.</li>
    </ul>

    <p>U starszych dzieci (klasy 5-8) zegarek zwykle odpada społecznie. Ale prosta komórka w plecaku jako opcja "do kontaktu po lekcjach" - przy smartfonie zostawionym w domu - jest wciąż rozsądnym rozwiązaniem.</p>

    <h2 id="szkola">A co ze <em>szkołą od września 2026?</em></h2>

    <p>Od 1 września 2026 roku smartfony w polskich szkołach podstawowych będą zdeponowane na czas zajęć - zarówno na lekcjach, jak i na przerwach. Zakaz dotyczy używania, nie posiadania. Dziecko może przynieść telefon do szkoły, deponuje go na czas zajęć, a po lekcjach odbiera i może normalnie zadzwonić.</p>

    <div class="callout info">
      <div class="callout-icon">
        <svg width="20" height="20" viewBox="0 0 20 20" fill="none">
          <circle cx="10" cy="10" r="8" stroke="currentColor" stroke-width="2"/>
          <path d="M10 6v4 M10 14h0" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
        </svg>
      </div>
      <div class="callout-content">
        <h4>Szkoła rozwiąże problem telefonu na lekcji. Nie rozwiąże reszty.</h4>
        <p>Decyzja o pierwszym smartfonie dotyczy 24 godzin na dobę przez 7 dni w tygodniu - nie tylko 8 godzin w szkole. Zakaz od września to dobra wiadomość, ale nie zmienia pytania: czy dziecko i rodzina są gotowi na smartfon w domu, po lekcjach, w weekendy i wakacje?</p>
      </div>
    </div>

    <h2 id="podsumowanie">Nie ma idealnego momentu. <em>Jest za to dobry moment.</em></h2>

    <p>Dobry moment to nie ten, kiedy dziecko ma odpowiedni wiek. To ten, kiedy rodzina ma czas na wdrożenie zasad, dziecko rozumie po co i na jakich warunkach, i jest plan na "co jeśli umowa nie będzie dotrzymana".</p>

    <p>Smartfon to narzędzie. Jak każde narzędzie - może służyć lub szkodzić w zależności od tego, w czyich rękach i przy jakich warunkach. Jeśli warunki nie są spełnione - żaden wiek nie jest "właściwy". Jeśli są - nawet wcześniejsza decyzja może być dobra.</p>

    <p style="font-family: var(--font-mono); font-size: 12px; color: var(--ink-soft); border-top: 1px solid var(--line); padding-top: 20px; margin-top: 40px; line-height: 1.8;">Źródła: NASK "Nastolatki 2024/2025"; Sapien Labs, Journal of Human Development and Capabilities 2025, Vol. 26, No. 3; MEN "Diagnoza Młodzieży 2026"; MEN - konferencja prasowa 18.03.2026 (zakaz telefonów w szkołach).</p>

    <div class="article-tags">
      <span class="tags-label">Tagi:</span>
      <a href="/tag/smartfon/" class="tag">smartfon</a>
      <a href="/tag/pierwsze-urzadzenie/" class="tag">pierwsze urządzenie</a>
      <a href="/tag/dziecko-w-sieci/" class="tag">dziecko w sieci</a>
      <a href="/tag/zasady-cyfrowe/" class="tag">zasady cyfrowe</a>
      <a href="/tag/poradnik/" class="tag">poradnik</a>
    </div>

  </article>
</div>

<!-- AUTHOR BOX -->
<section class="author-box">
  <div class="author-card">
    <img decoding="async" src="https://netopieka.pl/wp-content/uploads/2026/05/Radek_twarz.png"
         alt="Radek Biernacki"
         style="width:120px;height:150px;border-radius:50%;object-fit:cover;object-position:center 20%;border:4px solid var(--cream);box-shadow:0 10px 40px rgba(32,227,227,0.3);flex-shrink:0;position:relative;z-index:2;">
    <div class="author-info">
      <div class="author-label">O autorze</div>
      <h3 class="author-name">Radek Biernacki</h3>
      <p class="author-role">Założyciel Netopieka.pl &middot; 11+ lat w IT</p>
      <p class="author-bio">Pomagam rodzicom rozumieć cyfrowy świat ich dzieci. Od ponad dekady zawodowo zajmuję się zagadnieniami informatycznymi, ale w Netopiece mówię językiem rodziców - bez żargonu i straszenia, za to konkretami. Twórca kursu Bezpieczny Start i bezpłatnego ebooka CyberRodzic vs Grooming.</p>
      <div class="author-links">
        <a href="/blog" class="author-link primary">Wszystkie artykuły <svg width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M3 6h6m0 0L6 3m3 3l-3 3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></a>
        <a href="#newsletter" class="author-link">Newsletter</a>
        <a href="/pionierzy/" class="author-link">Kursy</a>
      </div>
    </div>
  </div>
</section>

<!-- COURSE CTA -->
<section class="course-cta">
  <div class="cta-card">
    <div class="cta-content">
      <div class="cta-eyebrow">Pójdź o krok dalej</div>
      <h2 class="cta-title">Bezpieczny Start: kompletny kurs <em>dla świadomego rodzica</em></h2>
      <p class="cta-desc">5 modułów, ponad 3 godziny materiału wideo i 23 PDFy. Wspólne ćwiczenia rodzic-dziecko dla dzieci w wieku 7-9 lat. Wszystko, czego potrzeba, by zbudować w domu trwałe nawyki cyfrowego bezpieczeństwa.</p>
      <ul class="cta-features">
        <li><svg width="18" height="18" viewBox="0 0 18 18" fill="none"><path d="M3 9l4 4 8-9" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/></svg>5 modułów wideo: 3+ godziny treści</li>
        <li><svg width="18" height="18" viewBox="0 0 18 18" fill="none"><path d="M3 9l4 4 8-9" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/></svg>23 PDFy do wydruku i wspólnych ćwiczeń</li>
        <li><svg width="18" height="18" viewBox="0 0 18 18" fill="none"><path d="M3 9l4 4 8-9" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/></svg>Rodzinna umowa cyfrowa: gotowy szablon</li>
        <li><svg width="18" height="18" viewBox="0 0 18 18" fill="none"><path d="M3 9l4 4 8-9" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/></svg>Dostęp na zawsze, bez subskrypcji</li>
      </ul>
      <div class="cta-buttons">
        <div class="cta-price">
          <span class="cta-price-old">249 zł</span>
          <span class="cta-price-new">179 zł</span>
        </div>
        <a href="/pionierzy/" class="cta-button">Zobacz kurs <svg width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M3 7h8m0 0L7 3m4 4l-4 4" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></a>
      </div>
    </div>
    <div class="cta-visual">
      <div class="cta-mockup">
        <div class="cta-mockup-label">Kurs Netopieka.pl</div>
        <div class="cta-mockup-title">Bezpieczny <em>Start</em></div>
        <div class="cta-mockup-modules">
          <div>Cyfrowy plac zabaw</div>
          <div>Kto jest kim w sieci?</div>
          <div>Mój cyfrowy sekret</div>
          <div>Złe rzeczy w sieci</div>
          <div>Nasza rodzinna umowa</div>
        </div>
        <div class="cta-mockup-bat">
          <svg viewBox="0 0 60 60" fill="none">
            <path d="M30 12 C20 12, 14 20, 14 28 C14 32, 16 35, 18 36 L30 30 L42 36 C44 35, 46 32, 46 28 C46 20, 40 12, 30 12 Z" fill="#20e3e3"/>
            <circle cx="22" cy="25" r="2" fill="#1a2b4a"/>
            <circle cx="38" cy="25" r="2" fill="#1a2b4a"/>
          </svg>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- RELATED -->
<section class="related">
  <div class="related-head">
    <div>
      <div class="section-eyebrow">Pogłębić temat</div>
      <h2 class="related-title">Powiązane <em>materiały</em></h2>
    </div>
  </div>
  <div class="related-grid">
    <article class="related-card" data-href="#newsletter">
      <div class="related-image" data-color="teal">
        <span class="related-cat-badge">Ebook &middot; 54 strony</span>
        <svg viewBox="0 0 100 100" fill="none">
          <rect x="25" y="15" width="50" height="70" rx="3" fill="#1a2b4a"/>
          <rect x="30" y="25" width="40" height="3" rx="1.5" fill="#20e3e3"/>
          <rect x="30" y="33" width="30" height="3" rx="1.5" fill="#20e3e3" opacity="0.7"/>
          <rect x="30" y="45" width="35" height="3" rx="1.5" fill="#20e3e3" opacity="0.5"/>
          <rect x="30" y="52" width="40" height="3" rx="1.5" fill="#20e3e3" opacity="0.5"/>
          <rect x="30" y="59" width="25" height="3" rx="1.5" fill="#20e3e3" opacity="0.5"/>
          <circle cx="50" cy="75" r="5" fill="#20e3e3"/>
        </svg>
      </div>
      <div class="related-body">
        <div class="related-meta">PDF &middot; Bezpłatny</div>
        <h3 class="related-card-title">CyberRodzic vs Grooming - pełny przewodnik</h3>
      </div>
    </article>
    <article class="related-card" data-href="/blog/zakaz-telefonow/">
      <div class="related-image" data-color="navy">
        <span class="related-cat-badge">Kompendium &middot; PDF</span>
        <svg viewBox="0 0 100 100" fill="none">
          <rect x="38" y="18" width="24" height="48" rx="3" stroke="#20e3e3" stroke-width="2.5" fill="none"/>
          <circle cx="50" cy="60" r="2" fill="#20e3e3"/>
          <path d="M30 78 L70 78" stroke="#20e3e3" stroke-width="2.5" stroke-linecap="round"/>
          <path d="M44 28 L56 28 M44 35 L56 35 M44 42 L52 42" stroke="#20e3e3" stroke-width="1.5" stroke-linecap="round" opacity="0.7"/>
        </svg>
      </div>
      <div class="related-body">
        <div class="related-meta">PDF &middot; Bezpłatny</div>
        <h3 class="related-card-title">Zakaz telefonów w szkołach 2026 - kompendium</h3>
      </div>
    </article>
    <article class="related-card" data-href="/pionierzy/">
      <div class="related-image" data-color="cream">
        <span class="related-cat-badge">Kurs &middot; Płatny</span>
        <svg viewBox="0 0 100 100" fill="none">
          <circle cx="50" cy="50" r="30" fill="#1a2b4a"/>
          <path d="M44 38 L62 50 L44 62 Z" fill="#20e3e3"/>
        </svg>
      </div>
      <div class="related-body">
        <div class="related-meta">5 modułów &middot; 3+ godziny</div>
        <h3 class="related-card-title">Bezpieczny Start - kurs dla rodziców dzieci 7-9 lat</h3>
      </div>
    </article>
  </div>
</section>

<!-- NEWSLETTER -->
<section class="newsletter" id="newsletter">
  <div class="newsletter-inner">
    <div class="newsletter-content">
      <div class="newsletter-eyebrow">Bezpłatny ebook</div>
      <h2 class="newsletter-title">CyberRodzic <em>vs Grooming</em></h2>
      <p class="newsletter-desc">Praktyczny przewodnik po najgroźniejszym zagrożeniu w sieci. Dowiedz się, jak działa grooming, jakie sygnały ignoruje 9 na 10 rodziców i co zrobić w pierwszej godzinie po wykryciu problemu.</p>
      <div class="ml-embedded" data-form="avWKq8"></div>
      <div class="newsletter-bullets">
        <span>&#10003; Bez spamu</span>
        <span>&#10003; Wypiszesz się jednym kliknięciem</span>
        <span>&#10003; 54 strony konkretów</span>
      </div>
    </div>
    <div class="newsletter-ebook">
      <img decoding="async" src="https://netopieka.pl/wp-content/uploads/2025/12/CyberRodzicVsGrooming.webp" alt="CyberRodzic vs Grooming">
    </div>
  </div>
</section>

<script>
var progressBar = document.getElementById('progressBar');
function updateProgress() {
  if (!progressBar) return;
  var total = document.documentElement.scrollHeight - window.innerHeight;
  var percent = total > 0 ? (window.scrollY / total) * 100 : 0;
  progressBar.style.width = Math.min(100, Math.max(0, percent)) + '%';
}
window.addEventListener('scroll', updateProgress, { passive: true });
window.addEventListener('resize', updateProgress);
updateProgress();

var sections = document.querySelectorAll('h2[id], p[id]');
var tocLinks = document.querySelectorAll('.toc a');
if (sections.length && tocLinks.length) {
  var tocObserver = new IntersectionObserver(function(entries) {
    entries.forEach(function(entry) {
      if (entry.isIntersecting) {
        var id = entry.target.id;
        tocLinks.forEach(function(link) {
          link.classList.toggle('active', link.getAttribute('href') === '#' + id);
        });
      }
    });
  }, { rootMargin: '-100px 0px -60% 0px' });
  sections.forEach(function(s) { tocObserver.observe(s); });
}

document.querySelectorAll('.checklist li').forEach(function(item) {
  item.addEventListener('click', function() { item.classList.toggle('checked'); });
});

document.querySelectorAll('.related-card').forEach(function(card) {
  card.addEventListener('click', function() {
    var href = card.dataset.href;
    if (href) {
      if (href.charAt(0) === '#') {
        var target = document.querySelector(href);
        if (target) target.scrollIntoView({ behavior: 'smooth' });
      } else { window.location.href = href; }
    }
  });
});

document.querySelectorAll('.share-btn').forEach(function(btn, i) {
  if (i === 2) {
    btn.addEventListener('click', function() {
      navigator.clipboard.writeText(window.location.href);
      btn.style.background = 'var(--teal)';
      btn.style.borderColor = 'var(--teal)';
      setTimeout(function() { btn.style.background = ''; btn.style.borderColor = ''; }, 1500);
    });
  }
});
</script>

<script>
(function(w,d,e,u,f,l,n){w[f]=w[f]||function(){(w[f].q=w[f].q||[])
.push(arguments);},l=d.createElement(e),l.async=1,l.src=u,
n=d.getElementsByTagName(e)[0],n.parentNode.insertBefore(l,n);})
(window,document,'script','https://assets.mailerlite.com/js/universal.js','ml');
ml('account', '1473819');
</script>

</body>
</html>				</div>
				</div>
				</div>
				</div>
		<p>Artykuł <a href="https://netopieka.pl/pierwszy-smartfon-kiedy-jest-wlasciwy-moment/">Pierwszy smartfon: kiedy jest właściwy moment</a> pochodzi z serwisu <a href="https://netopieka.pl">Netopieka</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://netopieka.pl/pierwszy-smartfon-kiedy-jest-wlasciwy-moment/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Grooming: 7 sygnałów ostrzegawczych</title>
		<link>https://netopieka.pl/grooming-7-sygnalow-ostrzegawczych/</link>
					<comments>https://netopieka.pl/grooming-7-sygnalow-ostrzegawczych/#respond</comments>
		
		<dc:creator><![CDATA[Radek]]></dc:creator>
		<pubDate>Sat, 23 May 2026 19:20:52 +0000</pubDate>
				<category><![CDATA[Wszystkie]]></category>
		<guid isPermaLink="false">https://netopieka.pl/?p=5037</guid>

					<description><![CDATA[<p>Grooming online: 7 sygnałów ostrzegawczych &#124; Netopieka.pl Blog / Grooming / 7 sygnałów ostrzegawczych Grooming · Bezpieczeństwo dziecka Grooming online: 7 sygnałów ostrzegawczych, które rodzic musi znać Większość rodziców rozpoznaje grooming dopiero, gdy jest za...</p>
<p>Artykuł <a href="https://netopieka.pl/grooming-7-sygnalow-ostrzegawczych/">Grooming: 7 sygnałów ostrzegawczych</a> pochodzi z serwisu <a href="https://netopieka.pl">Netopieka</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="5037" class="elementor elementor-5037">
				<div class="elementor-element elementor-element-c4c5a27 e-con-full e-flex e-con e-parent" data-id="c4c5a27" data-element_type="container" data-e-type="container">
				<div class="elementor-element elementor-element-2418be9 elementor-widget__width-inherit elementor-widget elementor-widget-html" data-id="2418be9" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Grooming online: 7 sygnałów ostrzegawczych, które rodzic musi znać. Praktyczny przewodnik bez straszenia od Netopieka.pl">
<title>Grooming online: 7 sygnałów ostrzegawczych | Netopieka.pl</title>

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=Montserrat:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">

<style>
:root {
  --teal: #20e3e3;
  --teal-soft: #20e3e333;
  --teal-glow: #20e3e360;
  --navy: #1a2b4a;
  --navy-deep: #0f1a2f;
  --navy-soft: #1a2b4ad9;
  --cream: #faf8f3;
  --cream-warm: #f4efe4;
  --paper: #fdfcf9;
  --ink: #1a2b4a;
  --ink-soft: #4a5878;
  --ink-mid: #2d3e5f;
  --line: #e8e2d3;
  --rose: #ff6b6b;
  --amber: #ffb84d;
  --warning-bg: #fff8e6;
  --warning-border: #ffd166;

  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Montserrat', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  --radius: 14px;
  --radius-lg: 28px;
  --shadow-soft: 0 4px 30px rgba(26, 43, 74, 0.08);
  --shadow-hover: 0 20px 60px rgba(26, 43, 74, 0.18);
  --transition: cubic-bezier(0.22, 1, 0.36, 1);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: 100px; }

body {
  font-family: var(--font-body);
  background: var(--cream);
  color: var(--ink);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

::selection { background: var(--teal); color: var(--navy); }

/* ===== READING PROGRESS BAR ===== */
.progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--teal) 0%, var(--navy) 100%);
  width: 0%;
  z-index: 200;
  transition: width 0.1s linear;
  box-shadow: 0 0 12px var(--teal-glow);
}

/* ===== ANIMATED BACKGROUND ===== */
.bg-canvas {
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  background: var(--cream);
}

.orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.4;
  animation: float 18s ease-in-out infinite;
}

.orb-1 {
  width: 380px; height: 380px;
  background: var(--teal);
  top: -100px; right: -80px;
}

.orb-2 {
  width: 320px; height: 320px;
  background: var(--navy);
  bottom: 30%; left: -120px;
  opacity: 0.18;
  animation-delay: -8s;
}

@keyframes float {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(40px, -50px) scale(1.1); }
  66% { transform: translate(-30px, 30px) scale(0.95); }
}

@keyframes pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.4); opacity: 0.6; }
}

/* ===== ARTICLE HERO ===== */
.article-hero {
  padding: 80px 40px 60px;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.breadcrumbs {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--ink-soft);
  margin-bottom: 28px;
  flex-wrap: wrap;
  opacity: 0;
  animation: fadeUp 0.8s var(--transition) 0.1s forwards;
}

.breadcrumbs a {
  transition: color 0.3s;
}

.breadcrumbs a:hover { color: var(--teal); }

.breadcrumbs .sep {
  opacity: 0.4;
}

.breadcrumbs .current {
  color: var(--navy);
  font-weight: 500;
}

.article-cat {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--paper);
  border: 1px solid var(--line);
  padding: 8px 16px;
  border-radius: 100px;
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 28px;
  opacity: 0;
  animation: fadeUp 0.8s var(--transition) 0.2s forwards;
}

.article-cat-dot {
  width: 8px; height: 8px;
  background: var(--rose);
  border-radius: 50%;
  box-shadow: 0 0 8px var(--rose);
}

.article-title-main {
  font-family: var(--font-display);
  font-size: clamp(38px, 6vw, 72px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.035em;
  color: var(--navy);
  margin-bottom: 32px;
  font-variation-settings: "opsz" 144, "SOFT" 50;
  opacity: 0;
  animation: fadeUp 0.9s var(--transition) 0.3s forwards;
}

.article-title-main em {
  font-style: italic;
  font-weight: 300;
  position: relative;
  display: inline-block;
}

.article-title-main em::after {
  content: '';
  position: absolute;
  bottom: 8%; left: -2%;
  width: 104%; height: 16%;
  background: var(--teal);
  z-index: -1;
  border-radius: 4px;
  transform: rotate(-1deg);
  opacity: 0.6;
}

.article-lead {
  font-family: var(--font-display);
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.5;
  color: var(--ink-mid);
  font-weight: 300;
  font-style: italic;
  max-width: 700px;
  margin: 0 auto 40px;
  opacity: 0;
  animation: fadeUp 0.8s var(--transition) 0.45s forwards;
}

.article-meta-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
  padding: 24px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  opacity: 0;
  animation: fadeUp 0.8s var(--transition) 0.6s forwards;
}

.article-meta-author {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 600;
  color: var(--navy);
}

.article-meta-author .avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--teal);
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15px;
  color: var(--navy);
}

.article-meta-info {
  display: flex;
  align-items: center;
  gap: 20px;
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--ink-soft);
}

.article-meta-info span {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* ===== HERO IMAGE ===== */
.article-hero-image {
  max-width: 1200px;
  margin: 0 auto 60px;
  padding: 0 40px;
  opacity: 0;
  animation: fadeUp 1s var(--transition) 0.7s forwards;
}

.hero-image-frame {
  aspect-ratio: 21/9;
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
}

.hero-image-frame::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 30% 50%, var(--teal-glow) 0%, transparent 50%),
    radial-gradient(circle at 80% 30%, rgba(255, 107, 107, 0.2) 0%, transparent 50%);
}

.hero-image-frame::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(32, 227, 227, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32, 227, 227, 0.06) 1px, transparent 1px);
  background-size: 50px 50px;
}

.hero-image-content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 60px;
  padding: 60px;
}

.hero-bat-large {
  width: 200px;
  height: 200px;
  flex-shrink: 0;
  animation: floatUp 4s ease-in-out infinite;
  filter: drop-shadow(0 20px 40px rgba(32, 227, 227, 0.3));
}

@keyframes floatUp {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}

.hero-image-text {
  color: var(--cream);
  font-family: var(--font-display);
  font-size: 32px;
  line-height: 1.2;
  font-weight: 400;
  font-style: italic;
  max-width: 480px;
}

.hero-image-text em {
  color: var(--teal);
  font-style: normal;
  font-weight: 500;
  display: block;
}

/* ===== ARTICLE LAYOUT ===== */
.article-layout {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px 80px;
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 80px;
}

/* TOC SIDEBAR */
.toc {
  position: sticky;
  top: 40px;
  align-self: start;
  font-size: 13px;
}

.toc-label {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--teal);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.toc-label::before {
  content: '';
  width: 24px; height: 1px;
  background: var(--teal);
}

.toc ul {
  list-style: none;
  border-left: 1px solid var(--line);
  padding-left: 0;
}

.toc li { position: relative; }

.toc a {
  display: block;
  padding: 10px 0 10px 18px;
  color: var(--ink-soft);
  transition: all 0.3s var(--transition);
  position: relative;
  line-height: 1.4;
  font-weight: 500;
}

.toc a::before {
  content: '';
  position: absolute;
  left: -1px; top: 50%;
  width: 2px; height: 0;
  background: var(--teal);
  transform: translateY(-50%);
  transition: height 0.3s var(--transition);
}

.toc a:hover {
  color: var(--navy);
  padding-left: 22px;
}

.toc a.active {
  color: var(--navy);
  font-weight: 600;
}

.toc a.active::before {
  height: 100%;
}

.toc-share {
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid var(--line);
}

.toc-share-label {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--ink-soft);
  margin-bottom: 16px;
}

.share-buttons {
  display: flex;
  gap: 8px;
}

.share-btn {
  width: 38px; height: 38px;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: var(--paper);
  display: grid;
  place-items: center;
  transition: all 0.3s var(--transition);
  color: var(--navy);
}

.share-btn:hover {
  background: var(--navy);
  color: var(--cream);
  border-color: var(--navy);
  transform: translateY(-3px);
}

/* ARTICLE CONTENT */
.article-content {
  font-size: 17px;
  line-height: 1.75;
  color: var(--ink-mid);
  max-width: 720px;
}

.article-content > p:first-child::first-letter {
  font-family: var(--font-display);
  font-size: 76px;
  font-weight: 400;
  float: left;
  line-height: 0.85;
  margin: 8px 14px 0 0;
  color: var(--navy);
  font-style: italic;
}

.article-content p {
  margin-bottom: 28px;
}

.article-content h2 {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.5vw, 40px);
  line-height: 1.1;
  font-weight: 400;
  letter-spacing: -0.025em;
  color: var(--navy);
  margin: 60px 0 24px;
  scroll-margin-top: 100px;
}

.article-content h2 em {
  font-style: italic;
  color: var(--ink-mid);
  font-weight: 300;
}

.article-content h3 {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 500;
  color: var(--navy);
  margin: 36px 0 16px;
  letter-spacing: -0.015em;
}

.article-content a {
  color: var(--navy);
  border-bottom: 2px solid var(--teal);
  font-weight: 500;
  transition: all 0.3s;
}

.article-content a:hover {
  background: var(--teal);
  color: var(--navy);
  padding: 0 4px;
  margin: 0 -4px;
}

.article-content strong {
  color: var(--navy);
  font-weight: 700;
}

.article-content em {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--navy);
}

/* PULL QUOTE */
.pull-quote {
  margin: 50px -40px;
  padding: 40px;
  background: var(--paper);
  border-left: 4px solid var(--teal);
  border-radius: 4px;
  font-family: var(--font-display);
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.3;
  font-weight: 400;
  font-style: italic;
  color: var(--navy);
  letter-spacing: -0.015em;
  position: relative;
}

.pull-quote::before {
  content: '"';
  position: absolute;
  top: -10px; left: 24px;
  font-size: 80px;
  color: var(--teal);
  font-family: var(--font-display);
  line-height: 1;
  opacity: 0.4;
}

.pull-quote-attr {
  display: block;
  margin-top: 16px;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-style: normal;
  color: var(--ink-soft);
  font-weight: 500;
}

/* SIGNAL LIST - numbered cards */
.signal-list {
  margin: 40px 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
  list-style: none;
  padding: 0 !important;
}

.signal-item {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 28px 28px 28px 90px;
  position: relative;
  transition: all 0.4s var(--transition);
}

.signal-item:hover {
  border-color: var(--navy);
  transform: translateX(4px);
  box-shadow: var(--shadow-soft);
}

.signal-num {
  position: absolute;
  left: 24px;
  top: 24px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--navy);
  color: var(--teal);
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 500;
  font-style: italic;
}

.signal-item:hover .signal-num {
  background: var(--teal);
  color: var(--navy);
}

.signal-title {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 500;
  color: var(--navy);
  margin-bottom: 8px;
  line-height: 1.2;
}

.signal-desc {
  font-size: 15px;
  line-height: 1.65;
  color: var(--ink-soft);
  margin: 0 !important;
}

/* CALLOUT BOX */
.callout {
  margin: 40px 0;
  padding: 28px 32px;
  background: var(--warning-bg);
  border: 1px solid var(--warning-border);
  border-radius: var(--radius);
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.callout-icon {
  flex-shrink: 0;
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--amber);
  display: grid;
  place-items: center;
  color: var(--navy);
}

.callout-content h4 {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 500;
  color: var(--navy);
  margin-bottom: 6px;
}

.callout-content p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink-mid);
  margin: 0 !important;
}

.callout.info {
  background: rgba(32, 227, 227, 0.08);
  border-color: var(--teal);
}

.callout.info .callout-icon {
  background: var(--teal);
}

/* CHECKLIST - klikalna */
.checklist {
  list-style: none;
  padding: 0 !important;
  margin: 30px 0;
}

.checklist li {
  position: relative;
  padding: 14px 0 14px 38px;
  border-bottom: 1px solid var(--line);
  font-size: 16px;
  color: var(--ink-mid);
  cursor: pointer;
  user-select: none;
  transition: color 0.3s, opacity 0.3s;
}

.checklist li:last-child { border-bottom: none; }

/* Kwadracik */
.checklist li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 18px;
  width: 22px;
  height: 22px;
  border: 2px solid var(--teal);
  border-radius: 6px;
  background: transparent;
  transition: all 0.3s;
}

/* Ptaszek */
.checklist li::after {
  content: '';
  position: absolute;
  left: 7px;
  top: 22px;
  width: 8px;
  height: 12px;
  border-right: 2.5px solid var(--navy);
  border-bottom: 2.5px solid var(--navy);
  transform: rotate(45deg) scale(0);
  transition: transform 0.25s var(--transition);
}

/* Podgląd przy najechaniu (jeśli jeszcze nieodznaczone) */
.checklist li:not(.checked):hover::before {
  background: var(--teal-soft);
}
.checklist li:not(.checked):hover::after {
  transform: rotate(45deg) scale(0.85);
  opacity: 0.4;
}

/* Stan odznaczony po kliknięciu */
.checklist li.checked::before {
  background: var(--teal);
}
.checklist li.checked::after {
  transform: rotate(45deg) scale(1);
  opacity: 1;
}
.checklist li.checked {
  color: var(--ink-soft);
  opacity: 0.7;
  text-decoration: line-through;
  text-decoration-color: var(--teal);
  text-decoration-thickness: 2px;
}

/* INLINE IMAGE */
.article-figure {
  margin: 50px -40px;
  position: relative;
}

.figure-frame {
  aspect-ratio: 16/9;
  background: linear-gradient(135deg, var(--cream-warm) 0%, var(--paper) 100%);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: grid;
  place-items: center;
  position: relative;
}

.figure-frame::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 30px 30px;
  opacity: 0.5;
  mask-image: radial-gradient(ellipse at center, black 30%, transparent 70%);
}

.figure-frame svg {
  position: relative;
  z-index: 2;
  width: 50%;
  max-width: 240px;
}

.figure-caption {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--ink-soft);
  margin-top: 14px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.figure-caption::before, .figure-caption::after {
  content: '';
  width: 30px; height: 1px;
  background: var(--line);
}

/* TAGS */
.article-tags {
  margin: 60px 0 0;
  padding-top: 30px;
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.tags-label {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--ink-soft);
  margin-right: 8px;
}

.tag {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 100px;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.3s;
}

.tag::before {
  content: '#';
  color: var(--teal);
  margin-right: 4px;
  font-weight: 700;
}

.tag:hover {
  background: var(--navy);
  color: var(--cream);
  border-color: var(--navy);
  transform: translateY(-2px);
}

/* ===== AUTHOR BOX ===== */
.author-box {
  max-width: 900px;
  margin: 80px auto;
  padding: 0 40px;
}

.author-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 50px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 40px;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.author-card::before {
  content: '';
  position: absolute;
  top: -50%; right: -100px;
  width: 300px; height: 300px;
  background: radial-gradient(circle, var(--teal-glow) 0%, transparent 60%);
  opacity: 0.3;
  filter: blur(40px);
}

.author-photo {
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--teal) 0%, #15b8b8 100%);
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-size: 50px;
  font-weight: 500;
  color: var(--navy);
  position: relative;
  z-index: 2;
  border: 4px solid var(--cream);
  box-shadow: 0 10px 40px rgba(32, 227, 227, 0.3);
}

.author-info { position: relative; z-index: 2; }

.author-label {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--teal);
  margin-bottom: 8px;
}

.author-name {
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 500;
  color: var(--navy);
  margin-bottom: 4px;
  letter-spacing: -0.02em;
}

.author-role {
  font-size: 14px;
  color: var(--ink-soft);
  margin-bottom: 16px;
  font-weight: 500;
}

.author-bio {
  font-size: 15px;
  line-height: 1.65;
  color: var(--ink-mid);
  margin-bottom: 20px;
  max-width: 540px;
}

.author-links {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.author-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: transparent;
  border: 1px solid var(--navy);
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  color: var(--navy);
  transition: all 0.3s var(--transition);
}

.author-link:hover {
  background: var(--navy);
  color: var(--cream);
  transform: translateY(-2px);
}

.author-link.primary {
  background: var(--navy);
  color: var(--cream);
}

.author-link.primary:hover {
  background: var(--teal);
  color: var(--navy);
  border-color: var(--teal);
  box-shadow: 0 10px 25px var(--teal-glow);
}

/* ===== COURSE CTA ===== */
.course-cta {
  max-width: 1200px;
  margin: 80px auto;
  padding: 0 40px;
}

.cta-card {
  background: var(--navy);
  border-radius: var(--radius-lg);
  padding: 60px;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 60px;
  align-items: center;
  position: relative;
  overflow: hidden;
  color: var(--cream);
}

.cta-card::before {
  content: '';
  position: absolute;
  bottom: -150px; left: -100px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, var(--teal-glow) 0%, transparent 60%);
  opacity: 0.5;
  animation: pulse-glow 6s ease-in-out infinite;
}

@keyframes pulse-glow {
  0%, 100% { transform: scale(1); opacity: 0.5; }
  50% { transform: scale(1.1); opacity: 0.7; }
}

.cta-content { position: relative; z-index: 2; }

.cta-eyebrow {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--teal);
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.cta-eyebrow::before {
  content: '';
  width: 28px; height: 1px;
  background: var(--teal);
}

.cta-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.05;
  font-weight: 400;
  letter-spacing: -0.025em;
  margin-bottom: 16px;
}

.cta-title em {
  font-style: italic;
  color: var(--teal);
}

.cta-desc {
  font-size: 15px;
  line-height: 1.7;
  opacity: 0.85;
  margin-bottom: 28px;
  max-width: 460px;
}

.cta-features {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 28px;
}

.cta-features li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  list-style: none;
}

.cta-features svg {
  color: var(--teal);
  flex-shrink: 0;
}

.cta-buttons {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.cta-price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-family: var(--font-display);
}

.cta-price-old {
  font-size: 18px;
  text-decoration: line-through;
  opacity: 0.5;
}

.cta-price-new {
  font-size: 32px;
  color: var(--teal);
  font-weight: 500;
}

.cta-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--teal);
  color: var(--navy);
  padding: 16px 28px;
  border-radius: 100px;
  font-weight: 600;
  font-size: 14px;
  transition: all 0.3s var(--transition);
}

.cta-button:hover {
  background: var(--cream);
  transform: translateY(-3px);
  box-shadow: 0 15px 40px rgba(32, 227, 227, 0.3);
}

.cta-visual {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
}

.cta-mockup {
  width: 100%;
  max-width: 320px;
  aspect-ratio: 4/5;
  background: linear-gradient(135deg, var(--paper) 0%, var(--cream-warm) 100%);
  border-radius: var(--radius-lg);
  padding: 24px;
  position: relative;
  transform: rotate(3deg);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  animation: bookFloat 5s ease-in-out infinite;
}

@keyframes bookFloat {
  0%, 100% { transform: rotate(3deg) translateY(0); }
  50% { transform: rotate(3deg) translateY(-10px); }
}

.cta-mockup-label {
  font-family: var(--font-mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--teal);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.cta-mockup-label::before {
  content: '';
  width: 6px; height: 6px;
  background: var(--teal);
  border-radius: 50%;
}

.cta-mockup-title {
  font-family: var(--font-display);
  font-size: 26px;
  line-height: 1.1;
  color: var(--navy);
  font-weight: 500;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
}

.cta-mockup-title em {
  font-style: italic;
  font-weight: 300;
  display: block;
}

.cta-mockup-modules {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cta-mockup-modules div {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: var(--cream);
  border-radius: 8px;
  font-size: 11px;
  color: var(--ink-mid);
  font-weight: 500;
}

.cta-mockup-modules div::before {
  content: '';
  width: 6px; height: 6px;
  background: var(--teal);
  border-radius: 50%;
  flex-shrink: 0;
}

.cta-mockup-bat {
  position: absolute;
  bottom: -16px; right: -16px;
  width: 70px; height: 70px;
  background: var(--navy);
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 3px solid var(--cream);
  box-shadow: 0 8px 20px rgba(26, 43, 74, 0.3);
}

.cta-mockup-bat svg { width: 60%; height: 60%; }

/* ===== RELATED ARTICLES ===== */
.related {
  max-width: 1400px;
  margin: 0 auto;
  padding: 80px 40px;
}

.related-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 50px;
  flex-wrap: wrap;
  gap: 20px;
}

.related-head .section-eyebrow {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--teal);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.related-head .section-eyebrow::before {
  content: '';
  width: 28px; height: 1px;
  background: var(--teal);
}

.related-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.03em;
  color: var(--navy);
}

.related-title em { font-style: italic; }

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

.related-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all 0.5s var(--transition);
  cursor: pointer;
  display: flex;
  flex-direction: column;
}

.related-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-hover);
  border-color: var(--navy);
}

.related-image {
  aspect-ratio: 16/10;
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.related-image[data-color="teal"] {
  background: linear-gradient(135deg, var(--teal) 0%, #18c4c4 100%);
}

.related-image[data-color="navy"] {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
}

.related-image[data-color="cream"] {
  background: linear-gradient(135deg, var(--cream-warm) 0%, #ede5d0 100%);
}

.related-image svg {
  width: 50%; height: 50%;
  transition: transform 0.6s var(--transition);
}

.related-card:hover .related-image svg {
  transform: scale(1.08) rotate(-3deg);
}

.related-cat-badge {
  position: absolute;
  top: 16px; left: 16px;
  background: var(--cream);
  color: var(--navy);
  padding: 6px 12px;
  border-radius: 100px;
  font-family: var(--font-mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 500;
}

.related-body {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.related-meta {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ink-soft);
  margin-bottom: 12px;
}

.related-card-title {
  font-family: var(--font-display);
  font-size: 22px;
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--navy);
}

/* =====================================================
   NEWSLETTER / EBOOK - WERSJA SPÓJNA Z INNYMI STRONAMI
   (navy, dwie kolumny: tekst + okładka ebooka 3D)
   ===================================================== */
.newsletter {
  padding: 80px 40px;
}

.newsletter-inner {
  max-width: 1200px;
  margin: 0 auto;
  background: var(--navy);
  border-radius: var(--radius-lg);
  padding: 72px 64px;
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 60px;
  align-items: center;
  text-align: left;
}

.newsletter-inner::before {
  content: '';
  position: absolute;
  top: -200px; right: -150px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, var(--teal-glow) 0%, transparent 60%);
  opacity: 0.7;
  animation: pulse-glow 6s ease-in-out infinite;
}

.newsletter-content { position: relative; z-index: 2; color: var(--cream); }

.newsletter-eyebrow {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--teal);
  margin-bottom: 16px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.newsletter-eyebrow::before {
  content: '';
  width: 28px; height: 1px;
  background: var(--teal);
}

.newsletter-title {
  font-family: var(--font-display);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.05;
  font-weight: 400;
  letter-spacing: -0.025em;
  color: var(--cream);
  margin-bottom: 16px;
}

.newsletter-title em {
  font-style: italic;
  color: var(--teal);
}

.newsletter-desc {
  font-size: 15px;
  line-height: 1.7;
  color: rgba(250, 248, 243, 0.84);
  max-width: 460px;
  margin: 0 0 28px;
}

.newsletter-form {
  display: flex;
  gap: 6px;
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 100px;
  padding: 6px;
  max-width: 460px;
  margin: 0;
  backdrop-filter: blur(10px);
}

.newsletter-form input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  padding: 13px 22px;
  color: var(--cream);
  font-family: var(--font-body);
  font-size: 14px;
}

.newsletter-form input::placeholder { color: rgba(250, 248, 243, 0.5); }

.newsletter-form button {
  background: var(--teal);
  color: var(--navy);
  padding: 13px 24px;
  border-radius: 100px;
  font-weight: 600;
  font-size: 13px;
  transition: all 0.3s var(--transition);
  display: flex;
  align-items: center;
  gap: 8px;
}

.newsletter-form button:hover {
  background: var(--cream);
  transform: translateY(-1px);
}

.newsletter-bullets {
  display: flex;
  gap: 18px;
  margin-top: 20px;
  font-size: 12px;
  color: rgba(250, 248, 243, 0.7);
  flex-wrap: wrap;
}

.newsletter-bullets span { display: flex; align-items: center; gap: 6px; }

/* Okładka ebooka 3D */
.newsletter-ebook {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  perspective: 1000px;
}

.newsletter-ebook img {
  width: 240px;
  border-radius: 6px 20px 20px 6px;
  box-shadow: -10px 14px 40px rgba(0, 0, 0, 0.35);
  transform: rotateY(-14deg) rotateX(6deg);
  animation: bookFloat3d 5s ease-in-out infinite;
}

@keyframes bookFloat3d {
  0%, 100% { transform: rotateY(-14deg) rotateX(6deg) translateY(0); }
  50% { transform: rotateY(-14deg) rotateX(6deg) translateY(-10px); }
}

/* ===== FOOTER ===== */
.footer {
  background: var(--navy-deep);
  color: var(--cream);
  padding: 80px 40px 40px;
  position: relative;
  overflow: hidden;
}

.footer::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--teal), transparent);
}

.footer-inner { max-width: 1400px; margin: 0 auto; }

.footer-top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 60px;
  padding-bottom: 60px;
  border-bottom: 1px solid rgba(250, 248, 243, 0.1);
}

.footer-brand h3 {
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 400;
  letter-spacing: -0.02em;
  margin: 20px 0 16px;
  max-width: 380px;
  line-height: 1.15;
}

.footer-brand h3 em {
  font-style: italic;
  color: var(--teal);
}

.footer-brand p {
  opacity: 0.7;
  font-size: 14px;
  max-width: 340px;
  line-height: 1.7;
}

.footer-col h4 {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--teal);
  margin-bottom: 20px;
}

.footer-col ul { list-style: none; }
.footer-col ul li { margin-bottom: 12px; }

.footer-col ul a {
  font-size: 14px;
  opacity: 0.75;
  transition: all 0.3s;
}

.footer-col ul a:hover {
  opacity: 1;
  color: var(--teal);
  padding-left: 6px;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 30px;
  font-size: 13px;
  opacity: 0.6;
  flex-wrap: wrap;
  gap: 20px;
}

.footer-tagline {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 16px;
  opacity: 1;
  color: var(--teal);
}

.socials { display: flex; gap: 12px; }

.social {
  width: 40px; height: 40px;
  border: 1px solid rgba(250, 248, 243, 0.2);
  border-radius: 50%;
  display: grid;
  place-items: center;
  transition: all 0.3s var(--transition);
}

.social:hover {
  background: var(--teal);
  border-color: var(--teal);
  color: var(--navy);
  transform: translateY(-3px);
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s var(--transition), transform 0.8s var(--transition);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  .article-layout { grid-template-columns: 1fr; gap: 0; }
  .toc { display: none; }
  .hero-image-content { flex-direction: column; gap: 30px; padding: 40px; text-align: center; }
  .hero-bat-large { width: 140px; height: 140px; }
  .hero-image-text { font-size: 22px; }
  .author-card { grid-template-columns: 1fr; text-align: center; padding: 40px; }
  .author-photo { margin: 0 auto; }
  .cta-card { grid-template-columns: 1fr; padding: 50px 40px; }
  .related-grid { grid-template-columns: repeat(2, 1fr); }
  .newsletter-inner { grid-template-columns: 1fr; padding: 56px 40px; }
  .newsletter-ebook { display: none; }
  .footer-top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  .article-hero { padding: 60px 20px 40px; }
  .article-hero-image { padding: 0 20px; margin-bottom: 40px; }
  .article-layout { padding: 0 20px 60px; }
  .article-content { font-size: 16px; }
  .article-content > p:first-child::first-letter { font-size: 56px; }
  .pull-quote { margin: 30px -20px; padding: 30px 24px; }
  .article-figure { margin: 30px -20px; }
  .signal-item { padding: 24px 20px 24px 70px; }
  .signal-num { left: 16px; top: 20px; width: 40px; height: 40px; font-size: 18px; }
  .author-box { padding: 0 20px; margin: 60px auto; }
  .author-card { padding: 30px 24px; }
  .author-photo { width: 100px; height: 100px; font-size: 38px; }
  .course-cta { padding: 0 20px; margin: 60px auto; }
  .cta-card { padding: 40px 24px; }
  .related { padding: 60px 20px; }
  .related-grid { grid-template-columns: 1fr; }
  .newsletter { padding: 60px 20px; }
  .newsletter-inner { padding: 44px 28px; }
  .newsletter-form { flex-direction: column; border-radius: 24px; }
  .newsletter-form button { width: 100%; justify-content: center; }
  .footer { padding: 60px 20px 30px; }
  .footer-top { grid-template-columns: 1fr; gap: 40px; padding-bottom: 40px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .article-meta-row { gap: 16px; }
  .breadcrumbs { font-size: 11px; }
  .article-tags { gap: 8px; }
}

/* =====================================================
   UNIVERSAL EMBED MAILERLITE - nadpisanie wyglądu
   ===================================================== */
.newsletter-content .ml-embedded .ml-form-embedWrapper,
.newsletter-content .ml-embedded .ml-form-embed,
.newsletter-content .ml-form-embedWrapper {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.newsletter-content .ml-embedded .ml-form-embedBody,
.newsletter-content .ml-embedded .ml-form-embedBodyDefault {
  background: transparent !important;
  padding: 0 !important;
}
/* Ukryj tytuł z ML */
.newsletter-content .ml-embedded .ml-form-embedContent,
.newsletter-content .ml-embedded .ml-form-embedContent h4,
.newsletter-content .ml-embedded .ml-form-embedContent p {
  display: none !important;
}
/* Input */
.newsletter-content .ml-embedded input[type="email"] {
  background-color: rgba(255,255,255,0.1) !important;
  color: #faf8f3 !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 12px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  padding: 13px 18px !important;
  width: 100% !important;
}
.newsletter-content .ml-embedded input[type="email"]::placeholder { color: rgba(250,248,243,0.5) !important; }
/* Przycisk teal */
.newsletter-content .ml-embedded .ml-form-embedSubmit button,
.newsletter-content .ml-embedded button[type="submit"],
.newsletter-content .ml-embedded .primary {
  background-color: #20e3e3 !important;
  color: #1a2b4a !important;
  border: none !important;
  border-radius: 100px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 13px 28px !important;
  width: 100% !important;
  cursor: pointer !important;
}
.newsletter-content .ml-embedded button[type="submit"]:hover {
  background-color: #faf8f3 !important;
  color: #1a2b4a !important;
}
/* RODO */
.newsletter-content .ml-embedded .ml-form-embedPermissions p,
.newsletter-content .ml-embedded .ml-form-embedPermissions a {
  color: rgba(250,248,243,0.65) !important;
  font-size: 12px !important;
}
/* Sukces */
.newsletter-content .ml-embedded .ml-form-successBody,
.newsletter-content .ml-embedded .ml-form-successContent {
  background: transparent !important;
  padding: 0 !important;
}
.newsletter-content .ml-embedded .ml-form-successContent h4 {
  color: #20e3e3 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 22px !important;
}
.newsletter-content .ml-embedded .ml-form-successContent p {
  color: rgba(250,248,243,0.84) !important;
}
</style>
</head>
<body>

<!-- READING PROGRESS BAR -->
<div class="progress-bar" id="progressBar"></div>

<!-- ANIMATED BACKGROUND -->
<div class="bg-canvas">
  <div class="orb orb-1"></div>
  <div class="orb orb-2"></div>
</div>



<!-- ARTICLE HERO -->
<header class="article-hero">
  <nav class="breadcrumbs">
    <!-- ZMIENIONE: link Blog prowadzi do netopieka.pl/blog -->
    <a href="/blog">Blog</a>
    <span class="sep">/</span>
    <a href="/category/grooming/">Grooming</a>
    <span class="sep">/</span>
    <span class="current">7 sygnałów ostrzegawczych</span>
  </nav>

  <div class="article-cat">
    <span class="article-cat-dot"></span>
    Grooming · Bezpieczeństwo dziecka
  </div>

  <h1 class="article-title-main">
    Grooming online: 7 sygnałów ostrzegawczych, które rodzic <em>musi znać</em>
  </h1>

  <p class="article-lead">
    Większość rodziców rozpoznaje grooming dopiero, gdy jest za późno. Ten przewodnik pokaże Ci sygnały, które pojawiają się znacznie wcześniej. Bez paniki, z konkretami.
  </p>

  <div class="article-meta-row">
    <div class="article-meta-author">
<img decoding="async" src="https://netopieka.pl/wp-content/uploads/2026/05/Radek_twarz.png" 
     alt="Radek Biernacki" 
style="width:42px; height:52px; border-radius:50%; object-fit:cover; object-position:center 20%; flex-shrink:0;">      Radek B.
    </div>
    <div class="article-meta-info">
      <span>
        <svg width="14" height="14" viewBox="0 0 14 14" fill="none">
          <circle cx="7" cy="7" r="6" stroke="currentColor" stroke-width="1.5"/>
          <path d="M7 4v3l2 1.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
        </svg>
        8 min czytania
      </span>
      <span>
        <svg width="14" height="14" viewBox="0 0 14 14" fill="none">
          <path d="M2 3h10v8H2z M2 3l5 4 5-4" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
        </svg>
        23 maja 2026
      </span>
    </div>
  </div>
</header>

<!-- HERO IMAGE -->
<div class="article-hero-image">
  <div class="hero-image-frame">
    <div class="hero-image-content">
      <svg class="hero-bat-large" viewBox="0 0 200 200" fill="none">
        <path d="M100 40 C70 40, 50 65, 50 95 C50 110, 56 120, 62 124 L100 102 L138 124 C144 120, 150 110, 150 95 C150 65, 130 40, 100 40 Z" fill="#1a2b4a" stroke="#20e3e3" stroke-width="1.5"/>
        <circle cx="78" cy="85" r="6" fill="#20e3e3"/>
        <circle cx="122" cy="85" r="6" fill="#20e3e3"/>
        <circle cx="78" cy="85" r="2" fill="#0f1a2f"/>
        <circle cx="122" cy="85" r="2" fill="#0f1a2f"/>
        <path d="M62 124 L52 145 L70 138 Z" fill="#1a2b4a" stroke="#20e3e3" stroke-width="1"/>
        <path d="M138 124 L148 145 L130 138 Z" fill="#1a2b4a" stroke="#20e3e3" stroke-width="1"/>
        <path d="M88 100 L92 105 M112 100 L108 105" stroke="#20e3e3" stroke-width="1.5" stroke-linecap="round"/>
      </svg>
      <div class="hero-image-text">
        Świadomy rodzic
        <em>to bezpieczne dziecko.</em>
      </div>
    </div>
  </div>
</div>

<!-- ARTICLE LAYOUT -->
<div class="article-layout">

  <!-- TABLE OF CONTENTS -->
  <aside class="toc">
    <div class="toc-label">W tym artykule</div>
    <ul>
      <li><a href="#intro" class="active">Wprowadzenie</a></li>
      <li><a href="#czym-jest">Czym jest grooming?</a></li>
      <li><a href="#sygnaly">7 sygnałów ostrzegawczych</a></li>
      <li><a href="#co-robic">Co robić, gdy widzisz sygnały</a></li>
      <li><a href="#rozmowa">Jak rozmawiać z dzieckiem</a></li>
      <li><a href="#podsumowanie">Podsumowanie</a></li>
    </ul>
    <div class="toc-share">
      <div class="toc-share-label">Udostępnij</div>
      <div class="share-buttons">
        <button class="share-btn" aria-label="Facebook">
          <svg width="14" height="14" viewBox="0 0 16 16" fill="none">
            <path d="M9 14V8.5h2L11.5 6h-2.5V4.5C9 3.7 9.3 3 10.5 3H12V1h-2c-2 0-3 1.2-3 3v2H5v2.5h2V14" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
          </svg>
        </button>
        <button class="share-btn" aria-label="Twitter">
          <svg width="14" height="14" viewBox="0 0 16 16" fill="none">
            <path d="M14 4.5c-.5.2-1 .4-1.5.4.5-.3 1-.8 1.2-1.4-.5.3-1 .5-1.6.6-.5-.5-1.2-.8-2-.8-1.5 0-2.7 1.2-2.7 2.7 0 .2 0 .4.1.6C5.2 6.5 3 5.3 1.5 3.5c-.2.4-.3.8-.3 1.3 0 .9.5 1.7 1.2 2.2-.4 0-.8-.1-1.2-.3 0 1.3.9 2.4 2.2 2.7-.2.1-.5.1-.7.1-.2 0-.3 0-.5-.1.3 1.1 1.3 1.9 2.5 1.9-1 .7-2.1 1.2-3.4 1.2H1c1.2.7 2.6 1.2 4.1 1.2 4.9 0 7.6-4.1 7.6-7.6v-.3c.5-.4 1-.8 1.3-1.3z" fill="currentColor"/>
          </svg>
        </button>
        <button class="share-btn" aria-label="Kopiuj link">
          <svg width="14" height="14" viewBox="0 0 16 16" fill="none">
            <path d="M6 10l4-4M6 6l-2 2c-1 1-1 3 0 4s3 1 4 0l1-1M10 10l2-2c1-1 1-3 0-4s-3-1-4 0l-1 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
          </svg>
        </button>
      </div>
    </div>
  </aside>

  <!-- ARTICLE CONTENT -->
  <article class="article-content">

    <p id="intro">Grooming to słowo, które brzmi obco, ale opisuje coś bardzo konkretnego: proces stopniowego budowania zaufania dziecka po to, by je skrzywdzić. Dorosły, który robi to świadomie, jest cierpliwy. Wie, że szybkie ruchy odstraszają. Działa miesiącami, czasem latami. I wbrew temu, co sugerują medialne nagłówki, najczęściej nie wygląda jak postać ze strasznego filmu - sprawia wrażenie miłej, wyrozumiałej osoby.</p>

    <p>Dobra wiadomość jest taka, że grooming ma swój wzorzec. Choć każda historia jest inna, sygnały ostrzegawcze powtarzają się z zaskakującą regularnością. Jeśli wiesz, czego szukać, możesz zatrzymać proces na bardzo wczesnym etapie - zanim dziecko poczuje, że "nie ma już odwrotu".</p>

    <h2 id="czym-jest">Czym jest <em>grooming</em>?</h2>

    <p>Grooming to systematyczne działanie, którego celem jest doprowadzenie dziecka do sytuacji, w której łatwiej je skrzywdzić - emocjonalnie, seksualnie albo finansowo. Sprawca nie zaczyna od propozycji. Zaczyna od zainteresowania dzieckiem jako osobą. Pyta o szkołę, hobby, marzenia. Słucha. Reaguje. Dla dziecka, które gdzieś czuje, że dorośli go nie rozumieją, taki ktoś jest jak woda na pustyni.</p>

    <p>To dlatego rodzicielskie podejście "moje dziecko by mi powiedziało" rzadko działa. Sprawca buduje relację, w której to <strong>on</strong> jest dla dziecka najważniejszą osobą. A <em>dziecko</em> staje się strażnikiem ich wspólnej tajemnicy.</p>

    <div class="pull-quote">
      Grooming nie zaczyna się od ataku. Zaczyna się od poczucia, że ktoś naprawdę rozumie Twoje dziecko. Tak naprawdę.
      <span class="pull-quote-attr">— Pierwsza zasada w pracy z rodzicami</span>
    </div>

    <h2 id="sygnaly">7 sygnałów <em>ostrzegawczych</em></h2>

    <p>Poniższe siedem sygnałów to nie checklista, w której musisz zaznaczyć wszystkie pola, by uznać sytuację za niepokojącą. Wystarczy, że pojawiają się dwa lub trzy z nich jednocześnie - to już moment, w którym warto zacząć zadawać pytania.</p>

    <ol class="signal-list">

      <li class="signal-item">
        <div class="signal-num">1</div>
        <h3 class="signal-title">Nowa, bardzo bliska "znajomość" online</h3>
        <p class="signal-desc">Dziecko dużo mówi o nowej osobie, którą poznało w grze, na Discordzie albo w komentarzach. Relacja rozwija się szybko: w ciągu kilku tygodni "ta osoba" wie o dziecku więcej niż ktokolwiek z rodziny. Dorosły, który ma czyste intencje, nie potrzebuje tej intensywności.</p>
      </li>

      <li class="signal-item">
        <div class="signal-num">2</div>
        <h3 class="signal-title">Komplementy, które wyglądają na "zrozumienie"</h3>
        <p class="signal-desc">"Jesteś inny, dojrzalszy niż twoi rówieśnicy", "mało kto by mnie tak rozumiał jak ty". To brzmi jak życzliwość, a jest precyzyjnym narzędziem - sprawca buduje w dziecku poczucie, że łączy ich coś wyjątkowego, czego inni nie pojmą.</p>
      </li>

      <li class="signal-item">
        <div class="signal-num">3</div>
        <h3 class="signal-title">Prezenty, kody do gier, doładowania</h3>
        <p class="signal-desc">Skiny w grze, V-Bucksy, doładowania na telefon, paczki z aliexpressu. Pierwsze prezenty są drobne - testują, czy dziecko je przyjmie. Z czasem rosną. Każdy stworzy poczucie zobowiązania, którego dziecko nie wie, jak spłacić.</p>
      </li>

      <li class="signal-item">
        <div class="signal-num">4</div>
        <h3 class="signal-title">"To nasza tajemnica"</h3>
        <p class="signal-desc">Najbardziej charakterystyczny sygnał ze wszystkich. Sprawca prosi dziecko, żeby nie mówiło rodzicom o ich rozmowach, prezentach albo o samej znajomości. Tłumaczy to obawą, że "dorośli źle to zrozumieją". Każda relacja, która wymaga ukrywania przed rodzicem, jest niebezpieczna - bez wyjątku.</p>
      </li>

      <li class="signal-item">
        <div class="signal-num">5</div>
        <h3 class="signal-title">Pytania o samotność</h3>
        <p class="signal-desc">"Kiedy rodziców nie ma w domu?", "śpisz sama w pokoju?", "masz rodzeństwo?". Te pytania pojawiają się stopniowo i wyglądają jak normalna ciekawość. Sprawca buduje mapę dnia dziecka, by wiedzieć, kiedy rozmowa może być najbardziej intymna i kiedy nikt nie zajrzy przez ramię.</p>
      </li>

      <li class="signal-item">
        <div class="signal-num">6</div>
        <h3 class="signal-title">Przeniesienie rozmowy na prywatne kanały</h3>
        <p class="signal-desc">Z publicznego serwera Discorda na prywatne wiadomości. Z gry na Snapchata albo Telegrama. Z platformy, która archiwizuje rozmowy, na taką, która kasuje je po przeczytaniu. Każde takie przejście zmniejsza widoczność tego, co się dzieje.</p>
      </li>

      <li class="signal-item">
        <div class="signal-num">7</div>
        <h3 class="signal-title">Stopniowe testowanie granic</h3>
        <p class="signal-desc">Najpierw żart o ciele. Potem prośba o "zwykłe" zdjęcie. Potem komentarz o wyglądzie. Każde z osobna wygląda na nic. Razem tworzą drogę, na której dziecko traci punkt odniesienia, gdzie kończy się normalność. To w tym momencie sprawca zaczyna realizować to, po co przyszedł.</p>
      </li>
    </ol>

    <div class="callout">
      <div class="callout-icon">
        <svg width="20" height="20" viewBox="0 0 20 20" fill="none">
          <path d="M10 2L2 17h16L10 2z M10 8v4 M10 14h0" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
        </svg>
      </div>
      <div class="callout-content">
        <h4>Jeden sygnał to obserwuj. Trzy to działaj.</h4>
        <p>Pojedyncze zachowania mogą mieć niewinne wytłumaczenie, ale gdy zauważasz wiele z powyższych jednocześnie, nie czekaj, aż wszystko stanie się oczywiste. Wczesna rozmowa nigdy nie zaszkodzi. Spóźniona reakcja - tak.</p>
      </div>
    </div>

    <h2 id="co-robic">Co robić, gdy <em>widzisz sygnały</em>?</h2>

    <p>Pierwszy odruch wielu rodziców to konfrontacja: zabranie telefonu, zablokowanie kont, krzyk. Rozumiem ten impuls. Robi się strasznie i chce się działać natychmiast. Problem polega na tym, że jeśli dziecko jest już w relacji ze sprawcą, taka reakcja zamknie je w sobie i sprawca wykorzysta to do ostatecznego odcięcia od rodziny ("widzisz, mówiłem, że twoi rodzice nie zrozumieją").</p>

    <p>Zamiast tego, jeśli to możliwe, daj sobie pół godziny na uspokojenie i przejdź przez taką sekwencję (kliknij, by odhaczyć):</p>

    <ul class="checklist">
      <li>Zabezpiecz dowody: zrzuty ekranu rozmów, zdjęć, profilu sprawcy. Nic nie kasuj.</li>
      <li>Nie konfrontuj się ze sprawcą online - zniknie i zatrze ślady.</li>
      <li>Zacznij rozmowę z dzieckiem od tego, że nie jest niczemu winne. To pierwsze zdanie ma ogromne znaczenie.</li>
      <li>Zadzwoń pod 800 100 100 (Telefon dla Rodziców i Nauczycieli) lub 116 111 (dla dziecka) - bezpłatnie i anonimowo. Nielegalne treści zgłosisz na Dyzurnet.pl.</li>
      <li>Jeśli były żądania zdjęć intymnych lub propozycje spotkania, zgłoś sprawę na policję.</li>
      <li>Nie obwiniaj się. Sprawcy są profesjonalistami w manipulacji. Ofiarą zostają najlepsze dzieci najlepszych rodziców.</li>
    </ul>

    <h2 id="rozmowa">Jak <em>rozmawiać</em> z dzieckiem</h2>

    <p>Najlepsza ochrona to ta, która zaczyna się długo przed problemem. Dzieci, które wiedzą, że mogą wrócić do rodzica z każdą informacją - nawet jeśli "zrobiły coś głupiego" - same przerywają grooming na bardzo wczesnym etapie. Te, które boją się ocenienia, milczą do końca.</p>

    <div class="callout info">
      <div class="callout-icon">
        <svg width="20" height="20" viewBox="0 0 20 20" fill="none">
          <circle cx="10" cy="10" r="8" stroke="currentColor" stroke-width="2"/>
          <path d="M10 6v4 M10 14h0" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
        </svg>
      </div>
      <div class="callout-content">
        <h4>Zdanie, które warto powiedzieć dziecku już dziś</h4>
        <p>"Jeśli kiedykolwiek ktoś poprosi cię w internecie o coś, co czujesz, że nie powinno mieć miejsca, możesz przyjść do mnie nawet o trzeciej w nocy. Nigdy nie dostaniesz za to kary. Obiecuję."</p>
      </div>
    </div>

    <h2 id="podsumowanie">Podsumowanie</h2>

    <p>Grooming to nie temat, który da się załatwić jedną rozmową albo jednym ustawieniem kontroli rodzicielskiej. To stała, spokojna obecność rodzica w cyfrowym życiu dziecka - taka, która nie podgląda, ale jest dostępna. Rozumiejąca, ale czujna. Bez paniki, bez wstydu i tabu.</p>

    <p>Jeśli wciąż czytasz, jesteś w lepszej pozycji niż większość rodziców w Polsce. Wiesz, czego szukać. Wiesz, że istnieje wzorzec, który można rozpoznać. I wiesz, gdzie szukać pomocy, jeśli będzie potrzebna. To naprawdę dużo. Gratuluję.</p>

    <!-- TAGS -->
    <div class="article-tags">
      <span class="tags-label">Tagi:</span>
      <a href="/tag/grooming/" class="tag">grooming</a>
      <a href="/tag/bezpieczenstwo-dziecka/" class="tag">bezpieczeństwo dziecka</a>
      <a href="/tag/rodzic-w-sieci/" class="tag">rodzic w sieci</a>
      <a href="/tag/cyberbezpieczenstwo/" class="tag">cyberbezpieczeństwo</a>
      <a href="/tag/poradnik/" class="tag">poradnik</a>
    </div>

  </article>
</div>

<!-- AUTHOR BOX -->
<section class="author-box">
  <div class="author-card">
<img decoding="async" src="https://netopieka.pl/wp-content/uploads/2026/05/Radek_twarz.png" 
     alt="Radek Biernacki" 
style="width:120px; height:150px; border-radius:50%; object-fit:cover; object-position:center 20%; border:4px solid var(--cream); box-shadow:0 10px 40px rgba(32,227,227,0.3); flex-shrink:0;">    <div class="author-info">
      <div class="author-label">O autorze</div>
      <h3 class="author-name">Radek Biernacki</h3>
      <p class="author-role">Założyciel Netopieka.pl · 11+ lat w IT</p>
      <p class="author-bio">
        Pomagam rodzicom rozumieć cyfrowy świat ich dzieci. Od ponad dekady zawodowo zajmuję się zagadnieniami informatycznymi, ale w Netopiece mówię językiem rodziców - bez żargonu i straszenia, za to konkretami. Twórca kursu Bezpieczny Start i bezpłatnego ebooka CyberRodzic vs Grooming.
      </p>
      <div class="author-links">
        <a href="/blog" class="author-link primary">
          Wszystkie artykuły
          <svg width="12" height="12" viewBox="0 0 12 12" fill="none">
            <path d="M3 6h6m0 0L6 3m3 3l-3 3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
          </svg>
        </a>
        <a href="#newsletter" class="author-link">Newsletter</a>
        <a href="/pionierzy/" class="author-link">Kursy</a>
      </div>
    </div>
  </div>
</section>

<!-- COURSE CTA -->
<section class="course-cta">
  <div class="cta-card">
    <div class="cta-content">
      <div class="cta-eyebrow">Pójdź o krok dalej</div>
      <h2 class="cta-title">Bezpieczny Start: kompletny kurs <em>dla świadomego rodzica</em></h2>
      <p class="cta-desc">5 modułów, ponad 3 godziny materiału wideo i 23 PDFy. Wspólne ćwiczenia rodzic-dziecko dla wieku 7-9 lat. Wszystko, czego potrzebujesz, by zbudować w domu trwałe nawyki cyfrowego bezpieczeństwa.</p>
      <ul class="cta-features">
        <li>
          <svg width="18" height="18" viewBox="0 0 18 18" fill="none">
            <path d="M3 9l4 4 8-9" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
          </svg>
          5 modułów wideo: 3+ godziny treści
        </li>
        <li>
          <svg width="18" height="18" viewBox="0 0 18 18" fill="none">
            <path d="M3 9l4 4 8-9" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
          </svg>
          23 PDFy do wydruku i wspólnych ćwiczeń
        </li>
        <li>
          <svg width="18" height="18" viewBox="0 0 18 18" fill="none">
            <path d="M3 9l4 4 8-9" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
          </svg>
          Rodzinna umowa cyfrowa: gotowy szablon
        </li>
        <li>
          <svg width="18" height="18" viewBox="0 0 18 18" fill="none">
            <path d="M3 9l4 4 8-9" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
          </svg>
          Dostęp na zawsze, bez subskrypcji
        </li>
      </ul>
      <div class="cta-buttons">
        <div class="cta-price">
          <span class="cta-price-old">249 zł</span>
          <span class="cta-price-new">179 zł</span>
        </div>
        <a href="/pionierzy/" class="cta-button">
          Zobacz kurs
          <svg width="14" height="14" viewBox="0 0 14 14" fill="none">
            <path d="M3 7h8m0 0L7 3m4 4l-4 4" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
          </svg>
        </a>
      </div>
    </div>
    <div class="cta-visual">
      <div class="cta-mockup">
        <div class="cta-mockup-label">Kurs Netopieka.pl</div>
        <div class="cta-mockup-title">Bezpieczny <em>Start</em></div>
        <div class="cta-mockup-modules">
          <div>Cyfrowy plac zabaw</div>
          <div>Kto jest kim w sieci?</div>
          <div>Mój cyfrowy sekret</div>
          <div>Złe rzeczy w sieci</div>
          <div>Nasza rodzinna umowa</div>
        </div>
        <div class="cta-mockup-bat">
          <svg viewBox="0 0 60 60" fill="none">
            <path d="M30 12 C20 12, 14 20, 14 28 C14 32, 16 35, 18 36 L30 30 L42 36 C44 35, 46 32, 46 28 C46 20, 40 12, 30 12 Z" fill="#20e3e3"/>
            <circle cx="22" cy="25" r="2" fill="#1a2b4a"/>
            <circle cx="38" cy="25" r="2" fill="#1a2b4a"/>
          </svg>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- POWIĄZANE MATERIAŁY -->
<section class="related">
  <div class="related-head">
    <div>
      <div class="section-eyebrow">Pogłębić temat</div>
      <h2 class="related-title">Powiązane <em>materiały</em></h2>
    </div>
  </div>
  <div class="related-grid">

    <article class="related-card" data-href="#newsletter">
      <div class="related-image" data-color="teal">
        <span class="related-cat-badge">Ebook · 54 strony</span>
        <svg viewBox="0 0 100 100" fill="none">
          <rect x="25" y="15" width="50" height="70" rx="3" fill="#1a2b4a"/>
          <rect x="30" y="25" width="40" height="3" rx="1.5" fill="#20e3e3"/>
          <rect x="30" y="33" width="30" height="3" rx="1.5" fill="#20e3e3" opacity="0.7"/>
          <rect x="30" y="45" width="35" height="3" rx="1.5" fill="#20e3e3" opacity="0.5"/>
          <rect x="30" y="52" width="40" height="3" rx="1.5" fill="#20e3e3" opacity="0.5"/>
          <rect x="30" y="59" width="25" height="3" rx="1.5" fill="#20e3e3" opacity="0.5"/>
          <circle cx="50" cy="75" r="5" fill="#20e3e3"/>
        </svg>
      </div>
      <div class="related-body">
        <div class="related-meta">PDF · Bezpłatny</div>
        <h3 class="related-card-title">CyberRodzic vs Grooming - pełny przewodnik</h3>
      </div>
    </article>

    <article class="related-card" data-href="/blog">
      <div class="related-image" data-color="navy">
        <span class="related-cat-badge">Kompendium · PDF</span>
        <svg viewBox="0 0 100 100" fill="none">
          <rect x="38" y="18" width="24" height="48" rx="3" stroke="#20e3e3" stroke-width="2.5" fill="none"/>
          <circle cx="50" cy="60" r="2" fill="#20e3e3"/>
          <path d="M30 78 L70 78" stroke="#20e3e3" stroke-width="2.5" stroke-linecap="round"/>
          <path d="M44 28 L56 28 M44 35 L56 35 M44 42 L52 42" stroke="#20e3e3" stroke-width="1.5" stroke-linecap="round" opacity="0.7"/>
        </svg>
      </div>
      <div class="related-body">
        <div class="related-meta">PDF · Bezpłatny</div>
        <h3 class="related-card-title">Zakaz telefonów w szkołach - kompendium</h3>
      </div>
    </article>

    <article class="related-card" data-href="/pionierzy/">
      <div class="related-image" data-color="cream">
        <span class="related-cat-badge">Kurs · Płatny</span>
        <svg viewBox="0 0 100 100" fill="none">
          <circle cx="50" cy="50" r="30" fill="#1a2b4a"/>
          <path d="M44 38 L62 50 L44 62 Z" fill="#20e3e3"/>
        </svg>
      </div>
      <div class="related-body">
        <div class="related-meta">5 modułów · 3+ godziny</div>
        <h3 class="related-card-title">Bezpieczny Start - kurs dla rodziców 7-9 lat</h3>
      </div>
    </article>

  </div>
</section>

<!-- =====================================================
     NEWSLETTER / EBOOK - spójna z resztą stron
     ===================================================== -->
<section class="newsletter" id="newsletter">
  <div class="newsletter-inner">
    <div class="newsletter-content">
      <div class="newsletter-eyebrow">Bezpłatny ebook</div>
      <h2 class="newsletter-title">CyberRodzic <em>vs Grooming</em></h2>
      <p class="newsletter-desc">
        Praktyczny przewodnik po najgroźniejszym zagrożeniu w sieci. Dowiedz się, jak działa grooming, jakie sygnały ignoruje 9 na 10 rodziców i co zrobić w pierwszej godzinie po wykryciu problemu.
      </p>
      <!-- MAILERLITE UNIVERSAL EMBED -->
      <div class="ml-embedded" data-form="avWKq8"></div>
      <!-- / MAILERLITE UNIVERSAL EMBED -->

      <div class="newsletter-bullets">
        <span>✓ Bez spamu</span>
        <span>✓ Wypiszesz się jednym kliknięciem</span>
        <span>✓ 54 strony konkretów</span>
      </div>
    </div>

    <!-- Okładka ebooka -->
    <div class="newsletter-ebook">
      <img decoding="async" src="https://netopieka.pl/wp-content/uploads/2025/12/CyberRodzicVsGrooming.webp"
           alt="CyberRodzic vs Grooming">
    </div>
  </div>
</section>



<script>
// === PASEK POSTĘPU CZYTANIA (odporny na brak elementów) ===
var progressBar = document.getElementById('progressBar');
function updateProgress() {
  if (!progressBar) return;
  var total = document.documentElement.scrollHeight - window.innerHeight;
  var percent = total > 0 ? (window.scrollY / total) * 100 : 0;
  progressBar.style.width = Math.min(100, Math.max(0, percent)) + '%';
}
window.addEventListener('scroll', updateProgress, { passive: true });
window.addEventListener('resize', updateProgress);
updateProgress();

// === SPIS TREŚCI - aktywna sekcja ===
var sections = document.querySelectorAll('h2[id], p[id]');
var tocLinks = document.querySelectorAll('.toc a');
if (sections.length && tocLinks.length) {
  var tocObserver = new IntersectionObserver(function(entries) {
    entries.forEach(function(entry) {
      if (entry.isIntersecting) {
        var id = entry.target.id;
        tocLinks.forEach(function(link) {
          link.classList.toggle('active', link.getAttribute('href') === '#' + id);
        });
      }
    });
  }, { rootMargin: '-100px 0px -60% 0px' });
  sections.forEach(function(section) { tocObserver.observe(section); });
}

// === CHECKLISTA - klik zaznacza / odznacza ===
document.querySelectorAll('.checklist li').forEach(function(item) {
  item.addEventListener('click', function() {
    item.classList.toggle('checked');
  });
});

// === POWIĄZANE KARTY - klikalne ===
document.querySelectorAll('.related-card').forEach(function(card) {
  card.addEventListener('click', function() {
    var href = card.dataset.href;
    if (href) {
      if (href.charAt(0) === '#') {
        var target = document.querySelector(href);
        if (target) target.scrollIntoView({ behavior: 'smooth' });
      } else {
        window.location.href = href;
      }
    }
  });
});

// === KOPIOWANIE LINKU (trzeci przycisk udostępniania) ===
document.querySelectorAll('.share-btn').forEach(function(btn, i) {
  if (i === 2) {
    btn.addEventListener('click', function() {
      navigator.clipboard.writeText(window.location.href);
      btn.style.background = 'var(--teal)';
      btn.style.borderColor = 'var(--teal)';
      setTimeout(function() {
        btn.style.background = '';
        btn.style.borderColor = '';
      }, 1500);
    });
  }
});
</script>

<!-- MAILERLITE UNIVERSAL SCRIPT -->
<script>
(function(w,d,e,u,f,l,n){w[f]=w[f]||function(){(w[f].q=w[f].q||[])
.push(arguments);},l=d.createElement(e),l.async=1,l.src=u,
n=d.getElementsByTagName(e)[0],n.parentNode.insertBefore(l,n);})
(window,document,'script','https://assets.mailerlite.com/js/universal.js','ml');
ml('account', '1473819');
</script>

</body>
</html>				</div>
				</div>
				</div>
				</div>
		<p>Artykuł <a href="https://netopieka.pl/grooming-7-sygnalow-ostrzegawczych/">Grooming: 7 sygnałów ostrzegawczych</a> pochodzi z serwisu <a href="https://netopieka.pl">Netopieka</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://netopieka.pl/grooming-7-sygnalow-ostrzegawczych/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
