/* ============================================================
   LEGAL.CSS — Strony prawne i 404
   aventium.ai static rebuild

   Strony: polityka-prywatnosci, polityka-cookies, regulamin, 404

   Depends on: tokens.css, base.css, components.css
   ============================================================ */


/* ============================================================
   1. LEGAL PAGE — Layout & Container
   ============================================================ */

.legal-page {
  padding-top: calc(var(--header-height) + var(--space-12));  /* 72px + 48px */
  padding-bottom: var(--section-py-sm);                       /* 80px */
  background: var(--background);
}

.legal-page__container {
  max-width: 760px;             /* czytelność długiego tekstu */
  margin-inline: auto;
  padding-inline: var(--space-6);  /* 24px */
}


/* ============================================================
   2. LEGAL PAGE — Breadcrumb
   ============================================================ */

.legal-page__breadcrumb {
  font-size: var(--text-sm);
  color: var(--muted-foreground);
  margin-bottom: var(--space-12);   /* 48px */
  max-width: none;
  text-align: left;
}

.legal-page__breadcrumb a {
  color: var(--primary);
  text-decoration: none;
}

.legal-page__breadcrumb a:hover {
  text-decoration: underline;
}


/* ============================================================
   3. LEGAL PAGE — Tytuł i meta
   ============================================================ */

.legal-page__title {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.025em;
  margin-bottom: var(--space-4);    /* 16px */
  max-width: none;
}

.legal-page__meta {
  font-size: var(--text-sm);
  color: var(--muted-foreground);
  margin-bottom: var(--space-12);   /* 48px */
  padding-bottom: var(--space-8);   /* 32px */
  border-bottom: 1px solid var(--border);
}

.legal-page__meta p {
  margin-bottom: var(--space-2);    /* 8px */
  max-width: none;
  text-align: left;
}

.legal-page__meta strong {
  color: var(--foreground);
}


/* ============================================================
   4. LEGAL PAGE — Disclaimer (⚠️)
   ============================================================ */

.legal-page__disclaimer {
  background: rgba(217, 119, 6, 0.08);    /* warm-gold tinted */
  border: 1px solid rgba(217, 119, 6, 0.3);
  border-radius: var(--radius);
  padding: var(--space-6);
  margin-bottom: var(--space-12);
  font-size: var(--text-sm);
  line-height: 1.7;
  color: var(--foreground);
}

.legal-page__disclaimer strong {
  color: var(--warm-gold);
  display: block;
  margin-bottom: var(--space-2);
  font-size: var(--text-base);
}

.legal-page__disclaimer p {
  max-width: none;
  text-align: left;
  margin: 0;
  color: var(--muted-foreground);
}


/* ============================================================
   5. LEGAL PAGE — "W pigułce" pill box
   ============================================================ */

.legal-page__pill-box {
  background: rgba(6, 182, 212, 0.05);    /* cyan tinted */
  border: 1px solid rgba(6, 182, 212, 0.3);
  border-radius: var(--radius);
  padding: var(--space-6);
  margin-bottom: var(--space-12);
}

.legal-page__pill-box-title {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: var(--space-3);    /* 12px */
  color: var(--primary);
  max-width: none;
}

.legal-page__pill-box p {
  font-size: var(--text-sm);
  color: var(--muted-foreground);
  margin-bottom: var(--space-3);
  max-width: none;
  text-align: left;
}

.legal-page__pill-box ol {
  padding-left: var(--space-6);
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.legal-page__pill-box li {
  font-size: var(--text-sm);
  color: var(--muted-foreground);
  line-height: var(--leading-relaxed);
  max-width: none;
}

.legal-page__pill-box li strong {
  color: var(--foreground);
}


/* ============================================================
   6. LEGAL PAGE — Spis treści (TOC)
   ============================================================ */

.legal-page__toc {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: var(--space-6);
  margin-bottom: var(--space-12);
}

.legal-page__toc-title {
  font-size: var(--text-base);
  font-weight: var(--font-semibold);
  color: var(--foreground);
  margin-bottom: var(--space-4);
  max-width: none;
}

.legal-page__toc-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.legal-page__toc-list li {
  margin: 0;
  max-width: none;
}

.legal-page__toc-list a {
  color: var(--primary);
  text-decoration: none;
  font-size: var(--text-sm);
  line-height: var(--leading-relaxed);
}

.legal-page__toc-list a:hover {
  text-decoration: underline;
}


/* ============================================================
   7. LEGAL PAGE — Treść główna
   ============================================================ */

.legal-page__content {
  color: var(--foreground);
  line-height: 1.7;
}

.legal-page__content h2 {
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: 700;
  line-height: var(--leading-snug);
  letter-spacing: -0.02em;
  margin-top: var(--space-12);      /* 48px */
  margin-bottom: var(--space-6);    /* 24px */
  color: var(--foreground);
  max-width: none;
  scroll-margin-top: calc(var(--header-height) + var(--space-4));  /* 72px + 16px */
}

.legal-page__content h3 {
  font-size: 1.125rem;
  font-weight: var(--font-semibold);
  margin-top: var(--space-8);       /* 32px */
  margin-bottom: var(--space-3);    /* 12px */
  color: var(--foreground);
  max-width: none;
}

.legal-page__content h4 {
  font-size: var(--text-base);
  font-weight: var(--font-semibold);
  margin-top: var(--space-6);
  margin-bottom: var(--space-2);
  color: var(--foreground);
  max-width: none;
}

.legal-page__content p {
  margin-bottom: var(--space-4);    /* 16px */
  max-width: none;                  /* reset.css ustawia max-width: 75ch na p */
  text-align: left;
}

.legal-page__content ul,
.legal-page__content ol {
  margin-bottom: var(--space-4);
  padding-left: var(--space-6);     /* 24px */
}

.legal-page__content li {
  margin-bottom: var(--space-2);    /* 8px */
  max-width: none;
  line-height: var(--leading-relaxed);
}

.legal-page__content blockquote {
  border-left: 3px solid var(--primary);
  padding-left: var(--space-6);
  margin: var(--space-6) 0;
  color: var(--muted-foreground);
  font-style: italic;
}

.legal-page__content blockquote p {
  margin: 0;
}

.legal-page__content a {
  color: var(--primary);
  text-decoration: underline;
}

.legal-page__content a:hover {
  text-decoration: none;
}

.legal-page__content strong {
  color: var(--foreground);
  font-weight: var(--font-semibold);
}

.legal-page__content hr {
  border: none;
  border-top: 1px solid var(--border);
  margin: var(--space-12) 0;
}

/* Tabele */
.legal-page__content table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--space-6) 0;
  font-size: var(--text-sm);
}

.legal-page__content table th,
.legal-page__content table td {
  border: 1px solid var(--border);
  padding: var(--space-3);          /* 12px */
  text-align: left;
  vertical-align: top;
  line-height: var(--leading-relaxed);
}

.legal-page__content table th {
  background: var(--card-bg);
  font-weight: var(--font-semibold);
  color: var(--foreground);
  white-space: nowrap;
}

.legal-page__content table td {
  color: var(--muted-foreground);
}

/* Tabele mobilne: scroll poziomy */
@media (max-width: 640px) {
  .legal-page__content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* Blockquote uwaga (> **⚠️ Uwaga:**) */
.legal-page__content blockquote strong {
  color: var(--warm-gold);
}

/* Footer dokumentu (kursywa na dole) */
.legal-page__content em {
  color: var(--muted-foreground);
}


/* ============================================================
   8. 404 ERROR PAGE
   ============================================================ */

.error-page {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--section-py-sm) var(--space-6);
  padding-top: calc(var(--header-height) + var(--section-py-sm));
}

.error-page__content {
  max-width: 600px;
  margin-inline: auto;
}

.error-page__code {
  font-size: clamp(5rem, 15vw, 10rem);
  font-weight: 800;
  line-height: 1;
  background: linear-gradient(135deg, var(--primary), #22D3EE);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: var(--space-4);
  max-width: none;
}

.error-page__title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  margin-bottom: var(--space-4);
  color: var(--foreground);
  max-width: none;
}

.error-page__desc {
  font-size: 1.125rem;
  color: var(--muted-foreground);
  margin-bottom: var(--space-8);    /* 32px */
  max-width: none;
  text-align: center;
}

.error-page__buttons {
  display: flex;
  gap: var(--space-4);
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
}
