/* ============ Drop Your Bag — legal documents (regulamin, polityka prywatności) ============ */
/* Loaded on top of styles.css — reuses :root variables, header, footer and buttons. */

/* ---------- legal header ---------- */
.legal-header {
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: saturate(140%) blur(10px);
  background: color-mix(in srgb, var(--bg) 88%, transparent);
  border-bottom: 1px solid var(--line);
}
.legal-header .nav { justify-content: space-between; }
.legal-header .back {
  display: inline-flex; align-items: center; gap: 7px;
  font-weight: 600; font-size: .94rem; color: var(--ink-soft);
  padding: 8px 12px; border-radius: var(--r-pill); transition: background .18s, color .18s;
}
.legal-header .back:hover { background: var(--surface); color: var(--ink); }

/* ---------- language toggle ---------- */
.lang-toggle { display: inline-flex; gap: 4px; background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--r-pill); padding: 4px; }
.lang-toggle button {
  border: none; background: transparent; color: var(--ink-soft);
  font-family: inherit; font-weight: 700; font-size: .82rem; letter-spacing: .04em;
  padding: 7px 14px; border-radius: var(--r-pill); transition: background .18s, color .18s;
}
.lang-toggle button.active { background: var(--accent); color: var(--accent-ink); box-shadow: var(--shadow-sm); }

/* ---------- document layout ---------- */
.legal-doc { padding-block: clamp(34px, 6vw, 64px) clamp(48px, 8vw, 88px); }
.legal-wrap { max-width: 880px; }
.legal-eyebrow {
  font-size: .82rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: var(--accent); display: inline-flex; align-items: center; gap: 9px; margin: 0 0 14px;
}
.legal-eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--accent); border-radius: 2px; }
.legal-doc h1 { font-size: clamp(2rem, 5vw, 3rem); margin-bottom: 14px; }
.legal-meta { color: var(--ink-soft); font-size: .96rem; margin-bottom: 28px; }
.legal-meta b { color: var(--ink); }

/* callout / note boxes */
.legal-note {
  background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--accent);
  border-radius: var(--r-md); padding: 16px 20px; margin: 22px 0; font-size: .98rem; color: var(--ink-soft);
}
.legal-note strong { color: var(--ink); }
.legal-note.warn { border-left-color: #c0492b; background: color-mix(in srgb, #c0492b 6%, var(--surface)); }

/* table of contents */
.legal-toc {
  background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--r-md);
  padding: 18px 22px; margin: 26px 0 36px;
}
.legal-toc h2 { font-size: 1rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-soft); margin-bottom: 12px; }
.legal-toc ol { margin: 0; padding-left: 1.3em; columns: 2; column-gap: 32px; }
.legal-toc li { margin: 5px 0; break-inside: avoid; }
.legal-toc a { color: var(--brand-soft); font-weight: 600; font-size: .95rem; }
.legal-toc a:hover { color: var(--accent); text-decoration: underline; }

/* sections */
.legal-doc section { margin-bottom: 34px; scroll-margin-top: 90px; }
.legal-doc h2.sec { font-size: clamp(1.25rem, 2.6vw, 1.6rem); margin-bottom: 14px; padding-top: 6px; }
.legal-doc h3 { font-size: 1.08rem; margin: 20px 0 8px; }
.legal-doc p { margin: 0 0 12px; color: var(--ink); }
.legal-doc ul, .legal-doc ol.body { margin: 0 0 14px; padding-left: 1.4em; }
.legal-doc li { margin: 7px 0; }
.legal-doc ol.body { counter-reset: item; list-style: none; padding-left: 0; }
.legal-doc ol.body > li { counter-increment: item; padding-left: 2.4em; position: relative; }
.legal-doc ol.body > li::before {
  content: counter(item) "."; position: absolute; left: 0; top: 0;
  font-weight: 700; color: var(--accent); min-width: 2em;
}
.legal-doc .lead { font-size: 1.1rem; color: var(--ink-soft); margin-bottom: 24px; }
.legal-doc strong { color: var(--ink); }
.legal-doc a.inline { color: var(--brand-soft); font-weight: 600; text-decoration: underline; }
.legal-doc a.inline:hover { color: var(--accent); }

/* highlighted clause (e.g. key fees / liability) */
.legal-highlight {
  background: var(--accent-soft); border-radius: var(--r-md); padding: 16px 20px; margin: 18px 0;
  border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
}
.legal-highlight p:last-child { margin-bottom: 0; }

/* simple data table */
.legal-table { width: 100%; border-collapse: collapse; margin: 14px 0 18px; font-size: .96rem; }
.legal-table th, .legal-table td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.legal-table th { background: var(--surface-2); font-weight: 700; }

.legal-updated { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .92rem; }

/* lang block visibility (toggled by inline script) */
[data-lang-block] { display: none; }
[data-lang-block].show { display: block; }

@media (max-width: 640px) {
  .legal-toc ol { columns: 1; }
}

@media print {
  .legal-header, .site-footer, .lang-toggle, .legal-toc { display: none !important; }
  body { background: #fff; font-size: 12pt; }
  .legal-doc a { color: inherit; text-decoration: none; }
}
