<!DOCTYPE html>
<html lang="pl" class="scroll-smooth">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Japonia: Podróż Matki z Córką (Planer 14-dniowy)</title>
<!-- Tailwind CSS -->
<script src="https://cdn.tailwindcss.com"></script>
<!-- Chart.js -->
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<!--
<!-- Chosen Palette: Wabi-Sabi Modern (Beże, złamana biel, głęboki granat, akcenty wiśniowego różu i matchy) -->
<!-- Application Structure Plan: Aplikacja została zaprojektowana jako przewodnik typu "One-Page". Posiada przyklejoną nawigację ułatwiającą przemieszczanie się. Sekcje ułożone są chronologicznie według etapów planowania podróży: 1. Wybór terminu (interaktywne zakładki dopasowane do kalendarza szkolnego), 2. Trasa i Miejsca (karty z naciskiem na atrakcje dla 15-latki), 3. Transport (zwięzłe zasady), 4. Budżet (interaktywny wykres pozwalający na analizę kosztów w 3 wariantach), 5. Kultura (grid z kluczowymi zasadami). Taka struktura pozwala na płynne przyswajanie wiedzy bez przytłoczenia tekstem. -->
<!-- Visualization & Content Choices:
- Termin: Zakładki (Tabs) -> Szybkie porównanie opcji bez przewijania długich bloków tekstu. JS obsługuje zmianę widoczności.
- Trasa: Siatka kart (Grid/Cards) -> Estetyczne oddzielenie miast, ułatwia skanowanie wzrokiem.
- Budżet: Wykres słupkowy skumulowany (Chart.js) -> Idealny do pokazania struktury kosztów (nocleg, jedzenie, transport, atrakcje) i łatwego porównania wariantów (skromny, średni, premium). JS aktualizuje dane na żądanie. Wykres w restrykcyjnym kontenerze.
- Kultura: Proste bloki z ikonami (Unicode) -> Szybkie "do's and don'ts".
-->
<!-- CONFIRMATION: NO SVG graphics used. NO Mermaid JS used. -->
-->
<script>
tailwind.config = {
theme: {
extend: {
colors: {
'jp-bg': '#F9F8F6',
'jp-text': '#2C3539',
'jp-sakura': '#FFB7C5',
'jp-sakura-dark': '#E892A3',
'jp-matcha': '#8A9A5B',
'jp-indigo': '#1F2E4D',
'jp-wood': '#D2B48C'
},
fontFamily: {
sans: ['Segoe UI', 'Roboto', 'Helvetica Neue', 'Arial', 'sans-serif'],
}
}
}
}
</script>
<style>
body {
background-color: #F9F8F6;
color: #2C3539;
}
/* Restrykcyjny kontener dla wykresu - ZGODNIE Z WYMOGAMI */
.chart-container {
position: relative;
width: 100%;
max-width: 800px; /* Maksymalna szerokość dla czytelności */
margin-left: auto;
margin-right: auto;
height: 400px; /* Bazowa wysokość */
max-height: 50vh; /* Zapobieganie overflow w pionie */
}
@media (max-width: 640px) {
.chart-container {
height: 300px;
}
}
.tab-btn.active {
border-bottom: 3px solid #E892A3;
color: #1F2E4D;
font-weight: 700;
}
.tab-content {
display: none;
animation: fadeIn 0.3s ease-in-out;
}
.tab-content.active {
display: block;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}
.card-hover {
transition: transform 0.2s, box-shadow 0.2s;
}
.card-hover:hover {
transform: translateY(-5px);
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}
</style>
</head>
<body class="font-sans antialiased text-jp-text leading-relaxed">
<!-- Nawigacja -->
<nav class="fixed w-full z-50 bg-white/90 backdrop-blur-md shadow-sm border-b border-gray-100">
<div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex justify-between h-16">
<div class="flex items-center">
<span class="text-2xl mr-2">🇯🇵</span>
<span class="font-bold text-jp-indigo text-lg">Wyprawa do Japonii</span>
</div>
<div class="hidden md:flex space-x-8 items-center text-sm font-medium">
<a href="#kiedy" class="hover:text-jp-sakura-dark transition">Kiedy jechać?</a>
<a href="#trasa" class="hover:text-jp-sakura-dark transition">Trasa & Miejsca</a>
<a href="#transport" class="hover:text-jp-sakura-dark transition">Transport</a>
<a href="#budzet" class="hover:text-jp-sakura-dark transition">Koszty</a>
<a href="#kultura" class="hover:text-jp-sakura-dark transition">Zasady & Kultura</a>
</div>
<!-- Menu mobilne (uproszczone) -->
<div class="flex items-center md:hidden">
<button id="mobile-menu-btn" class="text-gray-500 hover:text-gray-700 focus:outline-none text-2xl">
☰
</button>
</div>
</div>
</div>
<!-- Dropdown mobilny -->
<div id="mobile-menu" class="hidden md:hidden bg-white border-t border-gray-100">
<div class="px-2 pt-2 pb-3 space-y-1 sm:px-3">
<a href="#kiedy" class="block px-3 py-2 rounded-md text-base font-medium hover:bg-gray-50">Kiedy jechać?</a>
<a href="#trasa" class="block px-3 py-2 rounded-md text-base font-medium hover:bg-gray-50">Trasa</a>
<a href="#budzet" class="block px-3 py-2 rounded-md text-base font-medium hover:bg-gray-50">Koszty</a>
<a href="#kultura" class="block px-3 py-2 rounded-md text-base font-medium hover:bg-gray-50">Kultura</a>
</div>
</div>
</nav>
<!-- Hero Section -->
<header class="pt-24 pb-12 md:pt-32 md:pb-20 bg-gradient-to-b from-white to-jp-bg">
<div class="max-w-4xl mx-auto px-4 sm:px-6 text-center">
<div class="text-6xl mb-4">🗼🌸🍣</div>
<h1 class="text-4xl md:text-5xl font-bold text-jp-indigo mb-6 tracking-tight">Japonia: Niezapomniane 14 dni z nastolatką</h1>
<p class="text-lg md:text-xl text-gray-600 mb-8">
Kompleksowy poradnik, plan i analiza kosztów dla matki z 15-letnią córką.
Japonia to kraj kontrastów – od neonowych ulic Tokio, idealnych dla młodzieży, po wyciszające świątynie Kioto. Zobacz jak to zaplanować logistycznie.
</p>
</div>
</header>
<!-- Sekcja 1: Kiedy jechać -->
<main class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 pb-24 space-y-24">
<section id="kiedy" class="scroll-mt-24">
<div class="mb-8">
<h2 class="text-3xl font-bold text-jp-indigo mb-4 border-l-4 border-jp-sakura-dark pl-4">Kiedy jechać? (Dopasowanie do szkoły)</h2>
<p class="text-gray-600">
W tej sekcji analizujemy trzy główne okna czasowe wynikające z kalendarza szkolnego. Ze względu na obowiązki Twojej córki, wyjazd poza przerwami ustawowymi wymagałby zwolnień ze szkoły, co w liceum/starszych klasach może być uciążliwe. Poznaj plusy i minusy każdej opcji.
</p>
</div>
<div class="bg-white rounded-2xl shadow-sm border border-gray-100 p-2 md:p-6">
<!-- Zakładki -->
<div class="flex overflow-x-auto border-b border-gray-200 mb-6">
<button class="tab-btn active px-4 py-3 text-sm md:text-base font-medium text-gray-500 whitespace-nowrap" data-target="tab-lato">Wakacje (Lipiec / Sierpień) ☀️</button>
<button class="tab-btn px-4 py-3 text-sm md:text-base font-medium text-gray-500 whitespace-nowrap" data-target="tab-zima">Ferie Zimowe (Styczeń / Luty) ❄️</button>
<button class="tab-btn px-4 py-3 text-sm md:text-base font-medium text-gray-500 whitespace-nowrap" data-target="tab-wiosna">Okolice Wielkanocy (Marzec / Kwiecień) 🌸</button>
</div>
<!-- Kontent zakładek -->
<div id="tab-lato" class="tab-content active p-4">
<h3 class="text-xl font-bold mb-4 text-jp-indigo">Długie Wakacje (Lipiec - Sierpień)</h3>
<div class="grid md:grid-cols-2 gap-6">
<div class="bg-green-50 p-4 rounded-lg border border-green-100">
<h4 class="font-bold text-green-800 mb-2">➕ Plusy</h4>
<ul class="list-disc list-inside space-y-1 text-green-900">
<li>Brak konfliktu ze szkołą (pełne 2 miesiące do wyboru).</li>
<li>Sezon na letnie festiwale (Matsuri) i pokazy sztucznych ogni (Hanabi) - córka będzie zachwycona!</li>
<li>Długie dni i otwarte góry (np. możliwość wejścia na Fuji).</li>
<li>Mnóstwo letnich atrakcji w parkach rozrywki (np. Universal Studios).</li>
</ul>
</div>
<div class="bg-red-50 p-4 rounded-lg border border-red-100">
<h4 class="font-bold text-red-800 mb-2">➖ Minusy</h4>
<ul class="list-disc list-inside space-y-1 text-red-900">
<li><strong>Upał i ogromna wilgotność</strong> (powyżej 30°C i 80% wilgotności). Może to być bardzo męczące przy intensywnym zwiedzaniu.</li>
<li>Sezon tajfunów (szczególnie pod koniec wakacji), co może zaburzyć plany lotów lub pociągów.</li>
<li>Bardzo wysokie ceny biletów lotniczych w sezonie urlopowym.</li>
</ul>
</div>
</div>
</div>
<div id="tab-zima" class="tab-content p-4">
<h3 class="text-xl font-bold mb-4 text-jp-indigo">Ferie Zimowe (Styczeń - Luty)</h3>
<div class="grid md:grid-cols-2 gap-6">
<div class="bg-green-50 p-4 rounded-lg border border-green-100">
<h4 class="font-bold text-green-800 mb-2">➕ Plusy</h4>
<ul class="list-disc list-inside space-y-1 text-green-900">
<li>Zazwyczaj najtańsze bilety lotnicze i hotele.</li>
<li>Mniejszy tłum turystów (poza okresem Chińskiego Nowego Roku).</li>
<li>Wspaniałe zimowe iluminacje w miastach i możliwość zobaczenia śnieżnych makaków kąpiących się w gorących źródłach (Jigokudani).</li>
<li>Zimowe powietrze zapewnia najlepszą widoczność góry Fuji.</li>
</ul>
</div>
<div class="bg-red-50 p-4 rounded-lg border border-red-100">
<h4 class="font-bold text-red-800 mb-2">➖ Minusy</h4>
<ul class="list-disc list-inside space-y-1 text-red-900">
<li>Krótkie dni (szybko robi się ciemno, ok. 17:00).</li>
<li>Jest zimno, zwłaszcza w tradycyjnych domach/świątyniach (często brak centralnego ogrzewania).</li>
<li>Przyroda jest uśpiona (drzewa bez liści, brak słynnych ogrodów w pełnej krasie).</li>
</ul>
</div>
</div>
</div>
<div id="tab-wiosna" class="tab-content p-4">
<h3 class="text-xl font-bold mb-4 text-jp-indigo">Wiosna / Wielkanoc (Przełom Marca i Kwietnia)</h3>
<div class="grid md:grid-cols-2 gap-6">
<div class="bg-green-50 p-4 rounded-lg border border-green-100">
<h4 class="font-bold text-green-800 mb-2">➕ Plusy</h4>
<ul class="list-disc list-inside space-y-1 text-green-900">
<li><strong>Sakura (Kwitnące wiśnie)</strong> - najpiękniejszy wizualnie czas w Japonii. Magiczne widoki.</li>
<li>Idealna temperatura do zwiedzania (15-20°C).</li>
<li>Wspaniała wiosenna energia, świetne jedzenie sezonowe.</li>
</ul>
</div>
<div class="bg-red-50 p-4 rounded-lg border border-red-100">
<h4 class="font-bold text-red-800 mb-2">➖ Minusy</h4>
<ul class="list-disc list-inside space-y-1 text-red-900">
<li><strong>Wymaga zwolnienia ze szkoły.</strong> Przerwa wielkanocna w Polsce to zazwyczaj tylko ok. 6 dni, więc na 2 tygodnie trzeba urwać co najmniej tydzień szkoły.</li>
<li>Najdroższy i najbardziej oblegany sezon w roku. Hotele trzeba rezerwować z półrocznym wyprzedzeniem.</li>
<li>Gigantyczne tłumy w popularnych miejscach (np. Kioto).</li>
</ul>
</div>
</div>
<div class="mt-4 p-4 bg-yellow-50 rounded text-yellow-800 text-sm">
<strong>Rekomendacja:</strong> Jeśli córka dobrze się uczy i może nadrobić materiał, **wiosna (połączenie z Wielkanocą)** jest magiczna. Jeśli szkoła to priorytet – **początek lipca** jest najlepszym kompromisem przed nadejściem najgorszych upałów.
</div>
</div>
</div>
</section>
<!-- Sekcja 2: Trasa i Atrakcje -->
<section id="trasa" class="scroll-mt-24">
<div class="mb-8">
<h2 class="text-3xl font-bold text-jp-indigo mb-4 border-l-4 border-jp-sakura-dark pl-4">Złota Trasa (14 dni) - Atrakcje dla Ciebie i 15-latki</h2>
<p class="text-gray-600">
Poniżej znajduje się optymalny podział czasu. Zaprojektowany tak, by zbalansować zwiedzanie świątyń (kultura) z nowoczesnymi atrakcjami, popkulturą, mangą i zakupami, które z pewnością zachwycą nastolatkę.
</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
<!-- Karta Tokio -->
<div class="bg-white rounded-xl shadow-sm border border-gray-100 overflow-hidden card-hover flex flex-col">
<div class="h-32 bg-gradient-to-r from-blue-500 to-indigo-600 flex items-center justify-center">
<span class="text-5xl text-white">🗼</span>
</div>
<div class="p-5 flex-grow">
<h3 class="text-xl font-bold mb-1">Tokio</h3>
<p class="text-sm text-jp-sakura-dark font-semibold mb-3">5 - 6 dni</p>
<p class="text-sm text-gray-600 mb-4">Metropolia kontrastów. Od ultranowoczesnych wieżowców po ukryte świątynie i szalone dzielnice popkulturowe.</p>
<div class="bg-gray-50 p-3 rounded-lg text-sm border-l-2 border-indigo-400">
<span class="font-bold text-indigo-800">Córka pokocha:</span><br>
🛍️ <strong>Harajuku</strong> (szalona moda uliczna, naleśniki),<br>
🕹️ <strong>Akihabara</strong> (anime, gry, maid cafe),<br>
✨ <strong>teamLab Planets</strong> (immersyjna wystawa cyfrowa, super zdjęcia na Instagram).
</div>
</div>
</div>
<!-- Karta Kioto -->
<div class="bg-white rounded-xl shadow-sm border border-gray-100 overflow-hidden card-hover flex flex-col">
<div class="h-32 bg-gradient-to-r from-red-500 to-orange-500 flex items-center justify-center">
<span class="text-5xl text-white">⛩️</span>
</div>
<div class="p-5 flex-grow">
<h3 class="text-xl font-bold mb-1">Kioto</h3>
<p class="text-sm text-jp-sakura-dark font-semibold mb-3">4 - 5 dni</p>
<p class="text-sm text-gray-600 mb-4">Tradycyjna stolica, dzielnice gejsz, tysiące świątyń, złoty pawilon i słynny las bambusowy.</p>
<div class="bg-gray-50 p-3 rounded-lg text-sm border-l-2 border-red-400">
<span class="font-bold text-red-800">Córka pokocha:</span><br>
👘 <strong>Wypożyczenie Kimona</strong> i spacer po dzielnicy Gion,<br>
🦊 <strong>Fushimi Inari</strong> (tysiące pomarańczowych bram torii),<br>
🍵 Degustacja lodów i słodyczy matcha.
</div>
</div>
</div>
<!-- Karta Osaka -->
<div class="bg-white rounded-xl shadow-sm border border-gray-100 overflow-hidden card-hover flex flex-col">
<div class="h-32 bg-gradient-to-r from-yellow-400 to-orange-400 flex items-center justify-center">
<span class="text-5xl text-white">🐙</span>
</div>
<div class="p-5 flex-grow">
<h3 class="text-xl font-bold mb-1">Osaka</h3>
<p class="text-sm text-jp-sakura-dark font-semibold mb-3">2 - 3 dni</p>
<p class="text-sm text-gray-600 mb-4">Stolica japońskiego street foodu (Takoyaki!). Bardziej wyluzowana, głośna i neonowa atmosfera niż w Tokio.</p>
<div class="bg-gray-50 p-3 rounded-lg text-sm border-l-2 border-yellow-500">
<span class="font-bold text-yellow-800">Córka pokocha:</span><br>
🎢 <strong>Universal Studios Japan</strong> (szczególnie Super Nintendo World i strefa Harry'ego Pottera - hit!),<br>
🦀 <strong>Dotonbori</strong> w nocy z neonami i jedzeniem.
</div>
</div>
</div>
<!-- Karta Nara -->
<div class="bg-white rounded-xl shadow-sm border border-gray-100 overflow-hidden card-hover flex flex-col">
<div class="h-32 bg-gradient-to-r from-green-500 to-emerald-600 flex items-center justify-center">
<span class="text-5xl text-white">🦌</span>
</div>
<div class="p-5 flex-grow">
<h3 class="text-xl font-bold mb-1">Nara / Hiroszima</h3>
<p class="text-sm text-jp-sakura-dark font-semibold mb-3">1 - 2 dni</p>
<p class="text-sm text-gray-600 mb-4">Nara to historyczne miasto znane ze swobodnie chodzących jeleni. Hiroszima oferuje lekcję historii.</p>
<div class="bg-gray-50 p-3 rounded-lg text-sm border-l-2 border-green-500">
<span class="font-bold text-green-800">Córka pokocha:</span><br>
🦌 <strong>Karmienie jelonków w Narze</strong> (specjalnymi krakersami - uwaga, bywają natarczywe, co bywa zabawne),<br>
⛩️ Pływająca brama w Miyajima.
</div>
</div>
</div>
</div>
</section>
<!-- Sekcja 3: Transport -->
<section id="transport" class="scroll-mt-24">
<div class="mb-8">
<h2 class="text-3xl font-bold text-jp-indigo mb-4 border-l-4 border-jp-sakura-dark pl-4">Transport i Logistyka</h2>
<p class="text-gray-600">
Japonia posiada najlepszy na świecie system transportu publicznego, ale może on na początku przytłaczać. Oto najważniejsze elementy, o których musicie wiedzieć.
</p>
</div>
<div class="grid md:grid-cols-2 gap-8 items-center bg-white p-6 rounded-2xl shadow-sm border border-gray-100">
<div class="space-y-6">
<div class="flex items-start">
<div class="text-3xl mr-4">🚄</div>
<div>
<h4 class="font-bold text-lg">Pociągi Bullet Train (Shinkansen)</h4>
<p class="text-sm text-gray-600 mt-1">Połączą Was między Tokio, Kioto i Osaką. Jadą ok. 300 km/h. <br><strong>Wskazówka:</strong> JR Pass (bilet okresowy) w 2023 r. znacznie podrożał. Przy trasie Tokio->Kioto->Osaka->Tokio taniej wyjdzie kupić bilety na pojedyncze przejazdy w automatach lub aplikacji SmartEX, niż kupować pass na 14 dni.</p>
</div>
</div>
<div class="flex items-start">
<div class="text-3xl mr-4">📱</div>
<div>
<h4 class="font-bold text-lg">Karty IC (Suica / Pasmo)</h4>
<p class="text-sm text-gray-600 mt-1">Niezbędne do płacenia za metro i autobusy lokalne, a także w sklepach (konbini). Najlepiej dodać wirtualną kartę Suica do <strong>Apple Wallet</strong> w iPhonie przed wyjazdem i doładowywać ją kartą Revolut. To super proste rozwiązanie dla nastolatki.</p>
</div>
</div>
<div class="flex items-start">
<div class="text-3xl mr-4">🧳</div>
<div>
<h4 class="font-bold text-lg">Wysyłka bagażu (Takkyubin)</h4>
<p class="text-sm text-gray-600 mt-1">Podróżowanie shinkansenem z wielkimi walizkami jest uciążliwe (często trzeba rezerwować specjalne miejsca). Japończycy wysyłają bagaże kurierem np. z hotelu w Tokio do hotelu w Kioto za ok. 60-80 PLN za sztukę. Podróżujecie tylko z plecaczkiem!</p>
</div>
</div>
</div>
<div class="bg-blue-50 p-6 rounded-xl border border-blue-100 text-center">
<div class="text-6xl mb-4">🗺️</div>
<h4 class="font-bold text-blue-900 mb-2">Aplikacje MUST-HAVE</h4>
<ul class="text-sm text-blue-800 text-left space-y-2 inline-block">
<li>✅ <strong>Google Maps</strong> (działa perfekcyjnie w miastach, podaje perony i ceny).</li>
<li>✅ <strong>Google Translate</strong> (wraz z opcją tłumaczenia z obrazu aparatem).</li>
<li>✅ <strong>Navitime / Japan Transit Planner</strong> (jeśli macie JR Pass i szukacie pociągów).</li>
</ul>
</div>
</div>
</section>
<!-- Sekcja 4: Budżet (Interaktywna) -->
<section id="budzet" class="scroll-mt-24">
<div class="mb-8">
<h2 class="text-3xl font-bold text-jp-indigo mb-4 border-l-4 border-jp-sakura-dark pl-4">Analiza Kosztów (2 osoby / 14 dni)</h2>
<p class="text-gray-600 mb-4">
W tej sekcji możesz przeanalizować koszty wyjazdu dla Ciebie i córki, w zależności od preferowanego standardu. Z uwagi na wahania, <strong>ceny nie zawierają biletów lotniczych</strong> (loty to zwykle od 3500 PLN do 6000 PLN za osobę w obie strony). Koszty podane na miejscu w Japonii na 2 osoby łącznie. Wybierz wariant z menu poniżej, aby zaktualizować wykres.
</p>
<div class="flex flex-wrap items-center gap-4">
<label for="budget-tier" class="font-bold text-jp-indigo">Wybierz standard wyjazdu:</label>
<select id="budget-tier" class="bg-white border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-jp-sakura focus:border-jp-sakura block p-2.5 shadow-sm">
<option value="skromny">Oszczędny / Skromny (Hostele, tanie jedzenie)</option>
<option value="sredni" selected>Średni (Hotele 3*, zbilansowane jedzenie, atrakcje) - Polecany</option>
<option value="premium">Premium (Hotele 4/5*, lepsze restauracje, wygoda)</option>
</select>
</div>
</div>
<div class="bg-white p-4 md:p-8 rounded-2xl shadow-sm border border-gray-100">
<!-- Kontener wykresu wg wymagań -->
<div class="chart-container">
<canvas id="budgetChart"></canvas>
</div>
<div id="budget-description" class="mt-8 p-4 bg-gray-50 rounded-lg border border-gray-200">
<!-- Text aktualizowany dynamicznie -->
</div>
</div>
</section>
<!-- Sekcja 5: Kultura -->
<section id="kultura" class="scroll-mt-24">
<div class="mb-8">
<h2 class="text-3xl font-bold text-jp-indigo mb-4 border-l-4 border-jp-sakura-dark pl-4">Zasady, Kultura i na co uważać</h2>
<p class="text-gray-600">
Japonia jest niezwykle bezpieczna (idealna dla matki z córką), jednak społeczeństwo opiera się na wielu niepisanych zasadach. Poniżej najważniejsze z nich.
</p>
</div>
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6">
<div class="bg-white p-5 rounded-xl border-l-4 border-green-500 shadow-sm">
<div class="text-2xl mb-2">🤫</div>
<h4 class="font-bold mb-2">Cisza w pociągach</h4>
<p class="text-sm text-gray-600">W metrze i shinkansenach nie prowadzi się głośnych rozmów ani nie rozmawia przez telefon. Telefony powinny być wyciszone ("manner mode").</p>
</div>
<div class="bg-white p-5 rounded-xl border-l-4 border-green-500 shadow-sm">
<div class="text-2xl mb-2">🚫 💴</div>
<h4 class="font-bold mb-2">Brak napiwków</h4>
<p class="text-sm text-gray-600">W Japonii nie daje się napiwków w restauracjach, taksówkach ani hotelach. Próba zostawienia pieniędzy wywoła zamieszanie – kelner wybiegnie za Tobą by Ci je oddać.</p>
</div>
<div class="bg-white p-5 rounded-xl border-l-4 border-green-500 shadow-sm">
<div class="text-2xl mb-2">🗑️</div>
<h4 class="font-bold mb-2">Mało koszy na śmieci</h4>
<p class="text-sm text-gray-600">Na ulicach nie ma koszy na śmieci. Należy nosić małą torebkę/siatkę przy sobie i wyrzucać śmieci w hotelu lub przy sklepach konbini.</p>
</div>
<div class="bg-white p-5 rounded-xl border-l-4 border-yellow-500 shadow-sm">
<div class="text-2xl mb-2">👟</div>
<h4 class="font-bold mb-2">Zdejmowanie butów</h4>
<p class="text-sm text-gray-600">Przy wejściu do świątyń, tradycyjnych hoteli (Ryokan), a nawet przymierzalni w sklepach należy zdjąć buty. Warto nosić czyste skarpetki bez dziur!</p>
</div>
<div class="bg-white p-5 rounded-xl border-l-4 border-yellow-500 shadow-sm">
<div class="text-2xl mb-2">🧍♂️🧍♀️</div>
<h4 class="font-bold mb-2">Kolejki do wszystkiego</h4>
<p class="text-sm text-gray-600">Japończycy uwielbiają kolejki i ściśle ich przestrzegają. Czeka się w wyznaczonych liniach na peronach, do restauracji czy do kasy w sklepie. Nie wpychamy się.</p>
</div>
<div class="bg-white p-5 rounded-xl border-l-4 border-red-500 shadow-sm">
<div class="text-2xl mb-2">♨️</div>
<h4 class="font-bold mb-2">Tatuaże w Onsenach</h4>
<p class="text-sm text-gray-600">Jeśli wy lub córka macie widoczne tatuaże, wejście do publicznych łaźni (Onsen) jest zazwyczaj zabronione (kojarzą się z mafią Yakuza). Trzeba szukać obiektów "tattoo-friendly" lub rezerwować prywatne kąpiele w hotelu.</p>
</div>
</div>
</section>
</main>
<footer class="bg-jp-indigo text-white py-8 text-center text-sm">
<p>Przewodnik utworzony dla Ciebie i Twojej córki. Bezpiecznej i niesamowitej podróży!</p>
</footer>
<!-- JavaScript Application Logic -->
<script>
document.addEventListener('DOMContentLoaded', () => {
// 1. Obsługa nawigacji mobilnej
const mobileBtn = document.getElementById('mobile-menu-btn');
const mobileMenu = document.getElementById('mobile-menu');
const mobileLinks = mobileMenu.querySelectorAll('a');
mobileBtn.addEventListener('click', () => {
mobileMenu.classList.toggle('hidden');
});
mobileLinks.forEach(link => {
link.addEventListener('click', () => {
mobileMenu.classList.add('hidden');
});
});
// 2. Obsługa zakładek (Tabs) Kiedy jechać?
const tabBtns = document.querySelectorAll('.tab-btn');
const tabContents = document.querySelectorAll('.tab-content');
tabBtns.forEach(btn => {
btn.addEventListener('click', () => {
// Usuń aktywne klasy
tabBtns.forEach(b => b.classList.remove('active'));
tabContents.forEach(c => c.classList.remove('active'));
// Dodaj aktywną klasę do klikniętego
btn.classList.add('active');
const targetId = btn.getAttribute('data-target');
document.getElementById(targetId).classList.add('active');
});
});
// 3. Obsługa Wykresu Budżetowego (Chart.js)
const ctx = document.getElementById('budgetChart').getContext('2d');
// Dane w PLN dla 2 OSÓB łącznie (Matka + Córka) na 14 dni
const budgetData = {
skromny: {
label: 'Skromny / Oszczędny',
total: '~ 8 500 PLN (za 2 os.)',
breakdown: [3500, 2000, 2200, 800], // Nocleg, Jedzenie, Transport (w tym Shinkansen), Atrakcje
desc: 'Spacie w tańszych hotelach biznesowych (np. APA Hotel) lub prywatnych pokojach w hostelach. Śniadania jecie z marketów Konbini (Family Mart, 7-Eleven), lunche to tani i pyszny ramen/udon, a kolacje w sieciówkach. Korzystacie z transportu publicznego, omijacie najdroższe atrakcje.'
},
sredni: {
label: 'Średni (Komfortowy)',
total: '~ 14 500 PLN (za 2 os.)',
breakdown: [6000, 4000, 2500, 2000],
desc: 'Złoty środek. Spacie w wygodnych 3* hotelach blisko stacji. Raz śpicie w tradycyjnym ryokanie z gorącymi źródłami. Codziennie jecie w dobrych restauracjach, w tym sushi z taśmociągu czy yakiniku. Odwiedzacie płatne świątynie i większe atrakcje jak Universal Studios dla córki.'
},
premium: {
label: 'Premium / Luksusowy',
total: '~ 27 000+ PLN (za 2 os.)',
breakdown: [12000, 8000, 4000, 3000],
desc: 'Wysoki komfort. Hotele 4/5 gwiazdkowe z pięknymi widokami. Droższe posiłki, wołowina wagyu, wykwintne kolacje kaiseki. Często korzystacie z taksówek z bagażami, kupujecie bilety Shinkansen do wyższej klasy (Green Car). Bogaty program zwiedzania.'
}
};
// Konfiguracja wykresu Chart.js
let budgetChart = new Chart(ctx, {
type: 'bar',
data: {
labels: ['Noclegi', 'Wyżywienie', 'Transport (lokalny + międzymiastowy)', 'Atrakcje & Pamiątki'],
datasets: [{
label: 'Koszty w PLN (2 osoby, 14 dni)',
data: budgetData['sredni'].breakdown,
backgroundColor: [
'rgba(31, 46, 77, 0.7)', // Noclegi - Indigo
'rgba(232, 146, 163, 0.7)', // Jedzenie - Sakura
'rgba(138, 154, 91, 0.7)', // Transport - Matcha
'rgba(210, 180, 140, 0.7)' // Atrakcje - Wood
],
borderColor: [
'rgba(31, 46, 77, 1)',
'rgba(232, 146, 163, 1)',
'rgba(138, 154, 91, 1)',
'rgba(210, 180, 140, 1)'
],
borderWidth: 1,
borderRadius: 4
}]
},
options: {
responsive: true,
maintainAspectRatio: false, // KLUCZOWE dla działania customowego CSS kontenera
plugins: {
legend: { display: false },
tooltip: {
callbacks: {
label: function(context) {
let label = context.dataset.label || '';
if (label) {
label += ': ';
}
if (context.parsed.y !== null) {
label += new Intl.NumberFormat('pl-PL', { style: 'currency', currency: 'PLN', maximumSignificantDigits: 3 }).format(context.parsed.y);
}
return label;
}
}
}
},
scales: {
y: {
beginAtZero: true,
title: { display: true, text: 'Kwota (PLN)' },
ticks: {
callback: function(value) {
return value + ' zł';
}
}
},
x: {
ticks: {
// Zawijanie długich etykiet
callback: function(value, index, values) {
const label = this.getLabelForValue(value);
if (typeof label === 'string' && label.length > 16) {
let words = label.split(' ');
let lines = [];
let line = '';
words.forEach(word => {
if((line + word).length > 16) {
lines.push(line.trim());
line = word + ' ';
} else {
line += word + ' ';
}
});
lines.push(line.trim());
return lines;
} else {
return label;
}
}
}
}
}
}
});
// Funkcja aktualizująca tekst i wykres
const updateChartData = (tier) => {
const dataObj = budgetData[tier];
// Aktualizacja wykresu
budgetChart.data.datasets[0].data = dataObj.breakdown;
budgetChart.update();
// Aktualizacja tekstu
const descContainer = document.getElementById('budget-description');
descContainer.innerHTML = `
<h4 class="font-bold text-lg text-jp-indigo mb-1">Wybrany wariant: ${dataObj.label}</h4>
<p class="text-2xl font-bold text-jp-sakura-dark mb-2">Szacowany koszt na miejscu: <span class="text-gray-800">${dataObj.total}</span></p>
<p class="text-sm text-gray-600">${dataObj.desc}</p>
<p class="text-xs text-gray-400 mt-3">*Loty nie wchodzą w skład zestawienia. Średni koszt biletu to 3500-6000 PLN / osobę. Ceny w Japonii mogły ulec zmianie w zależności od kursu jena (JPY).</p>
`;
};
// Inicjalne załadowanie tekstu dla wariantu "średni"
updateChartData('sredni');
// Nasłuchiwanie zmian w select
document.getElementById('budget-tier').addEventListener('change', (e) => {
updateChartData(e.target.value);
});
});
</script>
</body>
</html>