Regulamin i polityka prywatnosci zgodne ze stanem serwisu
Deploy Polska Lokalnie / deploy (push) Successful in 22s

Audyt pokazal rozbieznosci w obie strony: dokumenty opisywaly funkcje,
ktorych nie ma (logowanie Google/Facebook), a kod robil rzeczy, ktorych
dokumenty nie ujawnialy.

Kod:
- zgody marketingowe domyslnie WYLACZONE (byly true dla kazdego nowego
  konta) + skrypt fix-marketing-consents.sql czyszczacy stare wpisy,
- usuniete tlumaczenie przez nieoficjalne API Google - przy zmianie
  jezyka wysylalo do USA tresci stron, w tym wiadomosci i nazwiska,
- osadzone spacery (YouTube, Matterport, Kuula) laduja sie dopiero po
  zgodzie; YouTube w trybie bez ciasteczek; mapy jak dotad,
- usuniecie konta kasuje dane osobowe (AccountErasureService), a nie
  tylko wiersz app_users,
- wygasle tokeny i kody SMS kasowane po 7 dniach (ExpiredTokenCleaner),
- zapisujemy moment akceptacji regulaminu przy rejestracji.

Dokumenty: opisuja realne funkcje, wszystkich odbiorcow danych (OVH,
Autopay, SMTP, SMS, Esri, OpenStreetMap, YouTube/Matterport/Kuula, GUS),
transfery poza EOG, konkretne okresy przechowywania, procedure zgloszen
z DSA, brak profilowania i tabele pamieci przegladarki zamiast fikcyjnych
cookies analitycznych. Zakres NIS2 i DORA opisany zgodnie z prawda.

Uklad stron prawnych jak reszta serwisu: kontener 1760 px, karty,
spis tresci z boku.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-23 21:59:15 +02:00
parent a4457df5f8
commit ca5f3ebfc1
19 changed files with 1187 additions and 603 deletions
+269 -20
View File
@@ -32913,38 +32913,242 @@ a.listing-detail-back {
.promo-orders-table td, .promo-orders-table th { white-space: nowrap; }
/* ===== STRONY PRAWNE (Regulamin, Polityka prywatnosci) ===== */
.legal-page { background: #f5f7fa; padding: 30px 0 50px; }
.legal-shell {
/* ===== STRONY PRAWNE (regulamin, polityka prywatnosci) =====
Ta sama szerokosc i ten sam jezyk wizualny co /kupno czy /jak-sprzedawac:
pelnoekranowy kontener 1760 px, karty na bialym tle i spis tresci przyklejony z boku. */
.legal-page {
background:
radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0) 32%),
linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
padding: 26px 0 60px;
}
.legal-container {
margin: 0 auto;
max-width: 1760px;
padding: 0 48px;
}
.legal-title h1 {
color: #13243d;
font-size: clamp(26px, 3.2vw, 38px);
letter-spacing: -0.02em;
margin: 0 0 8px;
}
.legal-title > p {
color: #4f6277;
font-size: 15px;
margin: 0 0 12px;
max-width: 760px;
}
.legal-meta {
color: #7b889a;
display: flex;
flex-wrap: wrap;
font-size: 13px;
font-weight: 800;
gap: 8px 18px;
margin-bottom: 26px;
}
.legal-meta strong {
color: #13243d;
}
.legal-layout {
align-items: start;
display: grid;
gap: 24px;
grid-template-columns: 300px minmax(0, 1fr);
}
.legal-toc {
background: #ffffff;
border: 1px solid #e3e9f0;
border-radius: 16px;
margin: 0 auto;
max-width: 900px;
padding: 34px clamp(20px, 4vw, 44px);
width: calc(100% - 2 * var(--workspace-pad));
border-radius: 14px;
padding: 18px 20px;
position: sticky;
top: 96px;
}
.legal-head { border-bottom: 1px solid #eef2f6; margin-bottom: 18px; padding-bottom: 16px; }
.legal-brand { color: #13243d; font-size: 14px; font-weight: 950; letter-spacing: -0.01em; margin: 0 0 10px; }
.legal-brand span { color: #cdd6e2; font-weight: 400; margin: 0 4px; }
.legal-head h1 { color: #13243d; font-size: clamp(24px, 3.4vw, 32px); margin: 0 0 8px; }
.legal-head > p { color: #4f6277; font-size: 15px; margin: 0; }
.legal-updated { color: #8a99ad !important; font-size: 13px !important; font-weight: 700; margin-top: 8px !important; }
.legal-body { color: #2b3b52; font-size: 15px; line-height: 1.7; }
.legal-body h2 { color: #13243d; font-size: 18px; font-weight: 850; margin: 26px 0 10px; }
.legal-body p { margin: 0 0 12px; }
.legal-body ul, .legal-body ol { margin: 0 0 14px; padding-left: 22px; }
.legal-body li { margin: 6px 0; }
.legal-body a { color: #12a764; font-weight: 700; text-decoration: underline; }
.legal-toc h2 {
color: #13243d;
font-size: 13px;
letter-spacing: 0.04em;
margin: 0 0 12px;
text-transform: uppercase;
}
.legal-toc ol {
display: grid;
gap: 2px;
list-style: none;
margin: 0;
max-height: calc(100vh - 220px);
overflow-y: auto;
padding: 0;
}
.legal-toc a {
border-radius: 8px;
color: #4f6277;
display: block;
font-size: 13px;
font-weight: 700;
padding: 7px 10px;
text-decoration: none;
}
.legal-toc a:hover {
background: #f1f8f4;
color: #0b9f5c;
}
.legal-main {
display: grid;
gap: 16px;
}
.legal-card {
background: #ffffff;
border: 1px solid #e3e9f0;
border-radius: 14px;
color: #2b3b52;
font-size: 15px;
line-height: 1.7;
padding: 24px clamp(20px, 2.4vw, 32px);
scroll-margin-top: 96px;
}
.legal-card h2 {
color: #13243d;
font-size: 19px;
font-weight: 900;
margin: 0 0 14px;
}
.legal-intro {
background: #f1f8f4;
border-color: #cfe8db;
}
.legal-card p {
margin: 0 0 12px;
max-width: 900px;
}
.legal-card p:last-child {
margin-bottom: 0;
}
.legal-card ul,
.legal-card ol {
margin: 0 0 14px;
max-width: 900px;
padding-left: 22px;
}
.legal-card li {
margin: 8px 0;
}
.legal-card a {
color: #12a764;
font-weight: 700;
text-decoration: underline;
}
.legal-facts {
display: grid;
gap: 8px;
list-style: none;
margin: 0 0 16px;
padding: 0;
}
.legal-facts li {
display: grid;
gap: 4px 16px;
grid-template-columns: 150px minmax(0, 1fr);
margin: 0;
}
.legal-facts span {
color: #7b889a;
font-size: 13px;
font-weight: 800;
}
.legal-facts strong {
color: #24344b;
font-weight: 700;
}
.legal-note {
background: #f6f9fc;
border: 1px dashed #cdd9e6;
border-radius: 10px;
color: #6b7f96;
font-size: 13px;
margin-top: 24px;
margin-top: 16px;
padding: 12px 14px;
}
.legal-table-wrap {
margin: 0 0 14px;
overflow-x: auto;
}
.legal-table {
border-collapse: collapse;
font-size: 13px;
min-width: 620px;
width: 100%;
}
.legal-table th,
.legal-table td {
border-bottom: 1px solid #eef2f6;
padding: 10px 12px;
text-align: left;
vertical-align: top;
}
.legal-table th {
color: #7b889a;
font-size: 12px;
letter-spacing: 0.02em;
text-transform: uppercase;
}
.legal-table td:first-child {
color: #24344b;
font-weight: 800;
white-space: nowrap;
}
@media (max-width: 1100px) {
.legal-container {
padding: 0 20px;
}
.legal-layout {
grid-template-columns: 1fr;
}
.legal-toc {
position: static;
}
.legal-toc ol {
max-height: none;
}
}
/* ===== STOPKA SERWISU ===== */
.site-footer { background: #0f2340; color: #c6d3e4; margin-top: 40px; }
.site-footer-inner {
@@ -35343,3 +35547,48 @@ a.listing-detail-secondary {
top: 14px;
z-index: 2;
}
/* Wirtualny spacer z obcego serwisu laduje sie dopiero za zgoda ogladajacego. */
.listing-detail-tour-consent {
align-items: center;
background: #f7fafc;
border: 1px dashed #cfdae6;
border-radius: 12px;
display: grid;
gap: 10px;
justify-items: center;
padding: 28px 20px;
text-align: center;
}
.listing-detail-tour-consent > span {
align-items: center;
background: #e7f8ef;
border-radius: 50%;
color: #0b9f5c;
display: grid;
font-size: 20px;
height: 46px;
place-items: center;
width: 46px;
}
.listing-detail-tour-consent p {
color: #4a5a6f;
font-size: 13px;
line-height: 1.5;
margin: 0;
max-width: 460px;
}
.listing-detail-tour-consent button {
background: #10a15e;
border: 0;
border-radius: 8px;
color: #ffffff;
cursor: pointer;
font-size: 13px;
font-weight: 900;
min-height: 42px;
padding: 0 18px;
}