narty-2027/pages/saalbach/oferty/dom-dla-grupy.html
oskar d9aa985250 Restrukturyzacja do symetrii: region.md i oferty/ → saalbach/
Cztery regiony w jednym schemacie <region>/region.md + <region>/oferty/*.md.
Saalbach przestaje być wyjątkiem w korzeniu bundle'a.

- git mv region.md → saalbach/region.md, oferty/ → saalbach/oferty/
- linki bundle-relative przepisane: /region.md → /saalbach/region.md,
  /oferty/* → /saalbach/oferty/*
- nowy saalbach/index.md wg §6, symetryczny do ischgl/kronplatz/sfl

Zdjęcia obiektów przetrwały bez zmian: mapowanie oferta→zdjęcia jest
kluczowane po polu `id` we frontmatterze (pages/img/<id>/), nie po
ścieżce pliku — gen_images.py:121,390 i gen_pages.py:695-709.
Region "Saalbach" w gen_pages.py bierze się z dirname konceptu, więc
przejście "" → "saalbach" obsługuje się samo.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 09:47:58 +02:00

176 lines
13 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="pl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Duży dom wakacyjny 1214 os. (do wyszukania) — Ski 2027 — Skicircus Saalbach</title>
<style>
:root { color-scheme: light dark; --fg:#0f172a; --muted:#64748b; --bg:#ffffff;
--line:#e2e8f0; --accent:#0d9488; --chip:#f1f5f9; --quote:#f8fafc; }
@media (prefers-color-scheme: dark) {
:root { --fg:#e2e8f0; --muted:#94a3b8; --bg:#0f172a; --line:#334155;
--accent:#2dd4bf; --chip:#1e293b; --quote:#1e293b; }
}
* { box-sizing: border-box; }
body { margin: 0 auto; padding: 1.25rem 1rem 4rem; max-width: 46rem;
font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
font-size: 17px; line-height: 1.55; color: var(--fg); background: var(--bg);
-webkit-text-size-adjust: 100%; }
nav { font-size: .85rem; margin-bottom: 1.25rem; }
nav a { color: var(--muted); }
h1 { font-size: 1.55rem; line-height: 1.25; margin: 0 0 .35rem; }
h2 { font-size: 1.2rem; margin: 2rem 0 .5rem; padding-top: .5rem;
border-top: 1px solid var(--line); }
h3 { font-size: 1.02rem; margin: 1.4rem 0 .4rem; }
p, ul, ol { margin: .6rem 0; }
ul, ol { padding-left: 1.3rem; }
li { margin: .25rem 0; }
li.task { list-style: none; margin-left: -1.3rem; }
li.task input { margin-right: .45rem; }
a { color: var(--accent); }
a.ext::after { content: " ↗"; font-size: .8em; color: var(--muted); }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .88em;
background: var(--chip); padding: .1em .35em; border-radius: 4px; }
pre { background: var(--chip); padding: .75rem; border-radius: 6px; overflow-x: auto; }
pre code { background: none; padding: 0; }
blockquote { margin: .9rem 0; padding: .6rem .9rem; background: var(--quote);
border-left: 3px solid var(--accent); border-radius: 0 6px 6px 0; }
blockquote p { margin: .2rem 0; }
hr { border: 0; border-top: 1px solid var(--line); margin: 1.5rem 0; }
.table-wrap { overflow-x: auto; margin: .8rem 0; -webkit-overflow-scrolling: touch; }
table { border-collapse: collapse; width: 100%; font-size: .92rem; }
th, td { border: 1px solid var(--line); padding: .4rem .55rem; vertical-align: top; }
th { background: var(--chip); font-weight: 600; }
.chip { display: inline-block; background: var(--chip); color: var(--muted);
font-size: .72rem; text-transform: uppercase; letter-spacing: .04em;
padding: .15rem .5rem; border-radius: 999px; }
.lead { color: var(--muted); margin: .35rem 0 1.25rem; }
.meta { margin: 0 0 1.5rem; }
.meta summary { cursor: pointer; font-size: .85rem; color: var(--muted);
padding: .3rem 0; }
.meta table { font-size: .85rem; }
.meta th { width: 38%; text-align: left; font-weight: 500; word-break: break-word; }
.cards { list-style: none; padding: 0; margin: 0; }
.cards li { border: 1px solid var(--line); border-radius: 8px; padding: .8rem .9rem;
margin: .6rem 0; }
.cards a { font-weight: 600; text-decoration: none; }
.cards p { margin: .3rem 0 0; font-size: .9rem; color: var(--muted); }
footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line);
font-size: .78rem; color: var(--muted); }
/* landing: kafle i lista regionów */
body.wide { max-width: 72rem; }
.tiles, .regions { list-style: none; padding: 0; }
.tiles { margin: 1.25rem 0 2rem; display: grid; gap: .75rem; }
.regions { margin: .6rem 0 0; display: grid; gap: .5rem; }
@media (min-width: 34rem) {
.tiles { grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.regions { grid-template-columns: repeat(2, 1fr); }
}
.tiles a, .regions a { display: block; border: 1px solid var(--line); border-radius: 10px;
padding: .9rem 1rem; text-decoration: none; color: var(--fg); }
.tiles a { font-size: 1.05rem; font-weight: 600; }
.tiles a:hover, .tiles a:focus, .regions a:hover, .regions a:focus {
border-color: var(--accent); }
.tiles small, .regions small { display: block; margin-top: .3rem; font-weight: 400;
font-size: .85rem; color: var(--muted); }
.regions a { font-weight: 600; }
/* podsumowanie per region na karcie porównania */
.summary { list-style: none; padding: 0; margin: .8rem 0 2rem; display: grid; gap: .6rem; }
@media (min-width: 48rem) { .summary { grid-template-columns: repeat(2, 1fr); } }
.summary li { border: 1px solid var(--line); border-left: 3px solid var(--accent);
border-radius: 8px; padding: .65rem .85rem; }
.summary .budget { font-size: .95rem; }
.summary p { margin: .35rem 0 0; font-size: .88rem; color: var(--muted); }
/* tabela porównawcza: sortowanie klikiem + kolor statusu ceny */
table.sortable th { cursor: pointer; user-select: none; white-space: nowrap; }
table.sortable th::after { content: " ↕"; font-size: .8em; opacity: .35; }
table.sortable th[data-dir="asc"]::after { content: " ↑"; opacity: 1; }
table.sortable th[data-dir="desc"]::after { content: " ↓"; opacity: 1; }
table.sortable td { font-size: .88rem; padding: .35rem .5rem; }
table.sortable td[data-num] { white-space: nowrap; }
table.sortable .name { font-weight: 600; }
tr.verified td { background: rgba(13, 148, 136, .14); }
tr.estimate td { background: rgba(100, 116, 139, .10); color: var(--muted); }
tr.estimate td.name a, tr.verified td.name a { color: var(--accent); }
.legend { font-size: .82rem; color: var(--muted); margin: .5rem 0 0; }
.legend .box { display: inline-block; width: .8em; height: .8em; border-radius: 3px;
border: 1px solid var(--line); vertical-align: -.05em; margin-right: .25em; }
.legend .box.v { background: rgba(13, 148, 136, .35); }
.legend .box.e { background: rgba(100, 116, 139, .25); }
/* miniatury w tabeli */
td.thumb { padding: .25rem; width: 128px; }
td.thumb img { width: 120px; height: 80px; object-fit: cover; border-radius: 6px;
display: block; }
td.thumb .placeholder { display: flex; width: 120px; height: 80px; border-radius: 6px;
align-items: center; justify-content: center; background: var(--chip);
color: var(--muted); font-weight: 700; letter-spacing: .05em;
text-decoration: none; }
/* galeria na karcie oferty */
.gallery { margin: 0 0 1.25rem; }
.gallery-main img { width: 100%; max-height: 24rem; object-fit: cover;
border-radius: 10px; display: block; background: var(--chip); }
.gallery-thumbs { display: flex; gap: .4rem; margin-top: .4rem; overflow-x: auto;
-webkit-overflow-scrolling: touch; padding-bottom: .2rem; }
.gallery-thumbs button { flex: 0 0 auto; padding: 0; border: 2px solid transparent;
border-radius: 6px; background: none; cursor: pointer; }
.gallery-thumbs button[aria-current] { border-color: var(--accent); }
.gallery-thumbs img { width: 5.5rem; height: 3.6rem; object-fit: cover;
border-radius: 4px; display: block; }
/* spis linków do kopiowania */
.copybar { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center;
margin: 1rem 0 1.5rem; }
.copybar button { font: inherit; font-size: .9rem; padding: .45rem .9rem;
border: 1px solid var(--accent); border-radius: 8px;
background: var(--accent); color: #f8fafc; cursor: pointer; }
.copybar button + button { background: none; color: var(--accent); }
.copybar button:hover { filter: brightness(1.08); }
.copy-status { font-size: .85rem; color: var(--muted); }
.links { list-style: none; padding: 0; margin: .5rem 0 0; }
.links li { padding: .55rem 0; border-bottom: 1px solid var(--line); }
.links li:last-child { border-bottom: 0; }
.links a { font-weight: 600; text-decoration: none; }
.links code.url { display: block; margin: .2rem 0; font-size: .82rem;
background: none; padding: 0; color: var(--muted);
word-break: break-all; user-select: all; }
.links p { margin: 0; font-size: .85rem; color: var(--muted); }
/* kafel regionu ze zdjęciem w tle */
.regions a.hero { background-size: cover; background-position: center;
border-color: transparent; color: #f8fafc; min-height: 6.5rem;
display: flex; flex-direction: column; justify-content: flex-end; }
.regions a.hero small { color: #e2e8f0; }
</style>
</head>
<body>
<nav><a href="../../start.html">← Start</a> · <a href="../../index.html">Wszystkie karty</a> · <a href="../../porownanie.html">Porównanie ofert</a> · <a href="../../linki.html">Linki</a> · <a href="../../../viz.html">Graf</a></nav>
<span class="chip">oferta-koncept</span>
<h1>Dom dla całej grupy (1214 os.) — koncept</h1>
<p class="lead">Koncept wynajęcia jednego domu wakacyjnego dla całej grupy zamiast czterech osobnych apartamentów — klimat chaletowy w połowie ceny Glemm Lodge.</p>
<details class="meta" open><summary>Metadane (frontmatter)</summary><div class="table-wrap"><table><tbody><tr><th>type</th><td>oferta-koncept</td></tr><tr><th>title</th><td>Duży dom wakacyjny 1214 os. (do wyszukania)</td></tr><tr><th>description</th><td>Koncept wynajęcia jednego domu wakacyjnego dla całej grupy zamiast czterech osobnych apartamentów — klimat chaletowy w połowie ceny Glemm Lodge.</td></tr><tr><th>timestamp</th><td>2026-07-31T00:00:00Z</td></tr><tr><th>tags</th><td>nocleg, dom-wakacyjny, koncept</td></tr><tr><th>id</th><td>dom-dla-grupy</td></tr><tr><th>nazwa</th><td>Duży dom wakacyjny 1214 os. (do wyszukania)</td></tr><tr><th>miejscowosc</th><td>Viehhofen / Maishofen / strona Fieberbrunn</td></tr><tr><th>uklad_dla_grupy</th><td>jeden dom dla całej grupy</td></tr><tr><th>cena_za_calosc_tydzien</th><td>4 5006 500 € (szacunek, styczeń poza feriami)</td></tr><tr><th>koszt_rodzina_2p2</th><td>~1 4001 900 € (podział od osoby)</td></tr><tr><th>koszt_rodzina_2p1</th><td>~1 1001 500 € (podział od osoby)</td></tr><tr><th>status_ceny</th><td>SZACUNEK — konkretny dom do znalezienia</td></tr><tr><th>priorytet</th><td>WARIANT RÓWNOLEGŁY (klimat 'wszyscy razem')</td></tr><tr><th>gdzie_szukac</th><td><a href="https://casamundo.pl" target="_blank" rel="noopener" class="ext">casamundo.pl</a>, <a href="https://interhome.pl" target="_blank" rel="noopener" class="ext">interhome.pl</a>, <a href="https://e-domizil.de" target="_blank" rel="noopener" class="ext">e-domizil.de</a>, <a href="https://vrbo.com" target="_blank" rel="noopener" class="ext">vrbo.com</a>, <a href="https://belvilla.com" target="_blank" rel="noopener" class="ext">belvilla.com</a>, <a href="https://allchalets.com" target="_blank" rel="noopener" class="ext">allchalets.com</a></td></tr><tr><th>ostatnia_aktualizacja</th><td>2026-07-31</td></tr></tbody></table></div></details>
<h2>W skrócie</h2>
<p>Alternatywa dla "4 osobnych apartamentów": jeden duży dom wakacyjny dla całej czternastki. Klimat chaletowy jak w Glemm Lodge (wspólne kolacje, wieczory, dzieciaki razem), ale w budżecie ~połowy jego ceny — pod warunkiem odpuszczenia adresu w samym Saalbach.</p>
<h2>Gdzie geograficznie</h2>
<ul><li><strong>Viehhofen / Maishofen</strong> — 38 km od Saalbach, skibus lub 10 min autem.</li><li><strong>Strona Fieberbrunn / St. Jakob in Haus / Hochfilzen</strong> — wejście do Skicircusu od tyłu przez gondolę Fieberbrunn; okolica tańsza, spokojna.</li></ul>
<h2>Parametry do filtrowania przy szukaniu</h2>
<ul><li>≥ 5 sypialni (4 rodzicielskie + konfiguracje dla 6 dzieci), ≥ 3 łazienki.</li><li>Duży salon + jadalnia na 14 os. (wspólne kolacje to sens tego wariantu).</li><li>Parking na 4 auta, narciarnia/suszarnia.</li><li>Cena docelowa: ≤ 6 500 €/tydzień w terminie 1623.01.2027.</li><li>Sauna = miły bonus, częsty w tym segmencie.</li></ul>
<h2>Rozliczenie (podział od osoby, 14 os.)</h2>
<div class="table-wrap"><table><thead><tr><th style="text-align:left">Rodzina</th><th style="text-align:left">Udział</th><th style="text-align:left">Przy 5 500 €/tydzień</th></tr></thead><tbody><tr><td style="text-align:left">2+2</td><td style="text-align:left">4/14</td><td style="text-align:left">~1 570 €</td></tr><tr><td style="text-align:left">2+1</td><td style="text-align:left">3/14</td><td style="text-align:left">~1 180 €</td></tr></tbody></table></div>
<h2>Plusy / minusy</h2>
<p><strong>+</strong> najlepszy klimat grupowy; wspólne gotowanie tnie koszty jedzenia; zwykle najlepszy metraż za euro; jedna rezerwacja.</p>
<p><strong></strong> logistyka poranna (14 os. na skibus/auta); jedna kuchnia i salon = potrzebna zgodność grupy; pojedyncza rezerwacja = pojedyncze ryzyko (anulacja jednej rodziny obciąża resztę — spisać zasady z góry!); konkretny dom trzeba dopiero znaleźć.</p>
<h2>Do zrobienia</h2>
<ul><li class="task"><input type="checkbox" disabled> Przeszukać portale (lista w nagłówku) filtrem: 14 os., 1623.01.2027, Viehhofen/Maishofen/Fieberbrunn.</li><li class="task"><input type="checkbox" disabled> Shortlista 3 domów → weryfikacja opinii → zapytania.</li><li class="task"><input type="checkbox" disabled> Umowa wewnętrzna grupy: zaliczki, zasady rezygnacji, podział od osoby.</li></ul>
<footer>Wygenerowane z bundle'a OKF przez <code>gen_pages.py</code> — nie edytuj
tych plików, edytuj <code>.md</code> i przegeneruj.<br>
powered by <a href="https://gethumanai.pl" target="_blank" rel="noopener">gethumanai.pl</a></footer>
</body>
</html>