/* =========================================================
   Podstrony prawne (regulamin, polityka prywatności)
   Ładowane TYLKO tam – landing zostaje ciemny, dokumenty są
   jasne, bo czyta się je długo.
   ========================================================= */

/* markery list z nawiasem – Word: „a)” i „1)”.
   Przeglądarki bez @counter-style dostaną fallback ustawiony niżej. */
@counter-style alpha-paren { system: extends lower-alpha; suffix: ") "; }
@counter-style dec-paren   { system: extends decimal;     suffix: ") "; }

body{ background:var(--cream); }

.legal{
  background:var(--cream);
  color:var(--ink);
  padding:clamp(44px,7vw,86px) 0 clamp(56px,8vw,96px);
}
.legal-wrap{ max-width:820px; }
.legal .eyebrow{ color:var(--gold-dp); }

.legal-title{
  font-family:var(--ff-display);
  font-size:clamp(2rem,4.4vw,2.9rem);
  color:var(--ink);
  margin:0 0 .5em;
}
.legal-lead{
  font-family:var(--ff-read);
  font-size:1.25rem; line-height:1.6; font-style:italic;
  color:var(--ink-soft);
  margin:0 0 2.4em; padding-bottom:1.6em;
  border-bottom:1px solid rgba(33,29,23,.12);
}

.legal-meta{
  font-family:var(--ff-sans); font-size:.82rem; letter-spacing:.02em;
  color:var(--ink-soft); margin:-1.6em 0 2.6em;
}

/* ---------- spis treści ---------- */
.legal-toc{
  margin:0 0 3em; padding:26px 30px 28px;
  border:1px solid rgba(154,123,50,.28); border-radius:var(--radius);
  background:rgba(255,255,255,.5);
}
.legal-toc-title{
  font-family:var(--ff-sans); font-size:.74rem; font-weight:600;
  letter-spacing:.26em; text-transform:uppercase; color:var(--gold-dp);
  margin:0 0 1em;
}
/* własny licznik, bo podpunkty (§10.1…) nie mogą podbijać numeracji paragrafów */
.legal-toc ol{ margin:0; padding-left:0; list-style:none; counter-reset:toc; }
.legal-toc li{
  counter-increment:toc; margin:0 0 .45em; font-size:.95rem;
  padding-left:2.4em; text-indent:-2.4em;
}
.legal-toc li::before{
  content:counter(toc) ". "; color:var(--gold-dp);
  display:inline-block; width:2.4em; text-indent:0; text-align:right;
  padding-right:.5em;
}
.legal-toc li.sub{ counter-increment:none; font-size:.9rem; }
.legal-toc li.sub::before{ content:"↳"; }
.legal-toc a{ color:var(--ink); text-decoration:none; border-bottom:1px solid transparent; }
.legal-toc a:hover{ color:var(--gold-dp); border-bottom-color:var(--gold-dp); }

/* ---------- treść dokumentu ---------- */
.legal-body{ font-size:1rem; line-height:1.75; }
.legal-body h2{
  font-family:var(--ff-display);
  font-size:clamp(1.3rem,2.6vw,1.65rem);
  color:var(--ink);
  margin:2.4em 0 .9em; padding-top:1.1em;
  border-top:1px solid rgba(33,29,23,.12);
}
.legal-body h2:first-child{ margin-top:0; padding-top:0; border-top:0; }
.legal-body h3{
  font-family:var(--ff-sans);
  font-size:1.02rem; font-weight:700; letter-spacing:.01em;
  color:var(--gold-dp);
  margin:2em 0 .8em;
}
.legal-body p{ margin:0 0 1em; }
.legal-body a{ color:var(--gold-dp); text-decoration:underline; text-underline-offset:2px; }
.legal-body a:hover{ color:var(--ink); }
.legal-body strong{ font-weight:600; }

.legal-body ol,
.legal-body ul{ margin:0 0 1.2em; padding-left:2.1em; }
.legal-body li{ margin:0 0 .6em; }
.legal-body li::marker{ color:var(--gold-dp); font-variant-numeric:tabular-nums; }
.legal-body ol ol{ margin-top:.7em; }

.legal-body .n-dec{ list-style-type:decimal; }
.legal-body .n-alpha{ list-style-type:lower-alpha; }
/* fallback (Safari <17): „a.” zamiast „a)” – lepsze niż cyfry */
.legal-body .n-alpha-paren{ list-style-type:lower-alpha; list-style-type:alpha-paren; }
.legal-body .n-dec-paren{ list-style-type:decimal; list-style-type:dec-paren; }
.legal-body .n-check{ list-style:none; padding-left:1.7em; }
.legal-body .n-check > li{ position:relative; }
.legal-body .n-check > li::before{
  content:"✔"; position:absolute; left:-1.7em; color:var(--gold-dp);
}

/* ---------- cennik dostaw ---------- */
.table-scroll{ overflow-x:auto; margin:0 0 1.6em; }
.legal-table{
  /* kolor jawnie: strony jadą w quirks mode (brak DOCTYPE w całym projekcie),
     a tam tabela nie dziedziczy color z rodzica i bierze jasny kolor z body */
  color:var(--ink);
  width:100%; border-collapse:collapse; font-size:1rem;
  background:rgba(255,255,255,.5);
  border:1px solid rgba(33,29,23,.14); border-radius:var(--radius);
  overflow:hidden;
}
.legal-table th,
.legal-table td{ padding:14px 20px; text-align:left; }
.legal-table thead th{
  font-family:var(--ff-sans); font-size:.74rem; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--gold-dp);
  border-bottom:1px solid rgba(33,29,23,.14);
}
.legal-table tbody tr + tr td{ border-top:1px solid rgba(33,29,23,.08); }
.legal-table td:last-child{ white-space:nowrap; font-variant-numeric:tabular-nums; }

.legal-note{
  margin-top:2.4em; padding-top:1.4em;
  border-top:1px solid rgba(33,29,23,.12);
  font-size:.92rem; color:var(--ink-soft);
}

/* ---------- załączniki: formularze odstąpienia ---------- */
.legal-form{
  margin:0 0 2.6em; padding:28px 30px 30px;
  border:1px solid rgba(33,29,23,.14); border-radius:var(--radius);
  background:rgba(255,255,255,.55);
}
.legal-form .form-addressee{ line-height:1.55; margin-bottom:1.6em; }
.legal-form .form-label{
  margin:1.6em 0 0; font-size:.9rem; color:var(--ink-soft);
}
.legal-form .fill-line{
  margin:.35em 0 0; height:1.4em;
  border-bottom:1px dashed rgba(33,29,23,.35);
}
.form-note{ font-size:.9rem; color:var(--ink-soft); font-style:italic; }
.legal-form .form-note{ margin-top:1.8em; }

/* ---------- powrót + stopka ---------- */
.legal .back-link{ color:var(--gold-dp); }
.legal .back-link:hover{ color:var(--ink); }

@media (max-width:640px){
  .legal-body{ font-size:.97rem; }
  .legal-toc{ padding:22px 20px 24px; }
  .legal-form{ padding:22px 20px 24px; }
  .legal-body ol,
  .legal-body ul{ padding-left:1.6em; }
}

/* ---------- wydruk: sam dokument ---------- */
@media print{
  .site-header,
  .site-footer,
  .legal-toc,
  .back-link{ display:none !important; }
  body,
  .legal{ background:#fff; color:#000; }
  .legal{ padding:0; }
  .legal-body a{ color:#000; text-decoration:none; }
  .legal-body h2{ break-after:avoid; }
  .legal-body li{ break-inside:avoid; }
}
