/* legal-v2.css, Polityka prywatności, Regulamin, Cookies.
 Editorial Reportaż style, calmer, text-first variant.
 Reuses .sn-r2-* from single-portfolio-v2.css for hero + chapter heads. */

.sn-lg2-main {
 background: var(--bone-100);
 color: var(--fg-on-light-1);
 --lg2-rule: rgba(20, 17, 13, 0.12);
 --lg2-rule-dark: rgba(255, 255, 255, 0.14);
}
.sn-lg2-main > .sn-r2-hero { padding-top: clamp(56px, 6vw, 88px); }

/* ─── Hero variant for legal pages, narrower, no big photo ─ */
.sn-lg2-hero-content {
 display: grid;
 grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
 gap: clamp(40px, 5vw, 88px);
 align-items: end;
}
.sn-lg2-hero-meta-card {
 background: rgba(255, 255, 255, 0.04);
 border: 1px solid rgba(255, 255, 255, 0.08);
 border-radius: var(--radius-tight);
 padding: clamp(28px, 3vw, 40px);
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: clamp(20px, 2vw, 28px);
}
.sn-lg2-hero-meta-item {
 display: flex;
 flex-direction: column;
 gap: 6px;
}
.sn-lg2-hero-meta-lbl {
 font-family: var(--font-body);
 font-size: var(--fs-nano);
 font-weight: 700;
 letter-spacing: var(--ls-loose);
 text-transform: uppercase;
 color: var(--brass-400);
}
.sn-lg2-hero-meta-val {
 font-family: var(--font-display);
 font-weight: 700;
 font-style: italic;
 font-size: clamp(20px, 1.8vw, 26px);
 line-height: 1.1;
 letter-spacing: -0.01em;
 color: var(--fg-on-dark-1);
 font-variant-numeric: tabular-nums;
}
.sn-lg2-hero-meta-val em { color: var(--brass-400); }
.sn-lg2-hero-meta-sub {
 font-family: var(--font-body);
 font-size: 12px;
 color: var(--fg-on-dark-3);
 letter-spacing: 0.02em;
 margin: 0;
}

/* ─── Body: TOC sidebar + reading column ─────────────────── */
.sn-lg2-body {
 padding: clamp(64px, 7vw, 96px) 0 clamp(80px, 9vw, 120px);
 background: var(--bone-100);
}
.sn-lg2-layout {
 display: grid;
 grid-template-columns: 240px minmax(0, 1fr);
 gap: clamp(48px, 5vw, 96px);
 align-items: start;
}

/* TOC sidebar, sticky */
.sn-lg2-toc {
 position: sticky;
 top: clamp(80px, 8vw, 120px);
 display: flex;
 flex-direction: column;
 gap: 14px;
 padding-top: 8px;
}
.sn-lg2-toc-h {
 font-family: var(--font-body);
 font-size: var(--fs-nano);
 font-weight: 700;
 letter-spacing: var(--ls-loose);
 text-transform: uppercase;
 color: var(--brass-600);
 margin: 0 0 4px;
}
.sn-lg2-toc-list {
 list-style: none;
 padding: 0;
 margin: 0;
 border-left: 1px solid var(--lg2-rule);
 display: flex;
 flex-direction: column;
}
.sn-lg2-toc-item {
 display: grid;
 grid-template-columns: 32px 1fr;
 align-items: baseline;
 gap: 10px;
 padding: 10px 0 10px 16px;
 text-decoration: none;
 color: var(--fg-on-light-2);
 font-family: var(--font-heading);
 font-size: 14px;
 line-height: 1.35;
 letter-spacing: 0;
 position: relative;
 transition: color 200ms, padding-left 200ms;
}
.sn-lg2-toc-item::before {
 content: "";
 position: absolute;
 left: -1px; top: 50%;
 width: 2px; height: 12px;
 background: var(--brass-500);
 transform: translateY(-50%) scaleY(0);
 transform-origin: center;
 transition: transform 220ms;
}
.sn-lg2-toc-item:hover { color: var(--fg-on-light-1); padding-left: 20px; }
.sn-lg2-toc-item.is-active {
 color: var(--fg-on-light-1);
 font-weight: 600;
}
.sn-lg2-toc-item.is-active::before { transform: translateY(-50%) scaleY(1); }
.sn-lg2-toc-no {
 font-family: var(--font-display);
 font-weight: 700;
 font-style: italic;
 font-size: 13px;
 color: var(--brass-600);
 letter-spacing: -0.01em;
 font-variant-numeric: tabular-nums;
}

/* Reading column */
.sn-lg2-content {
 max-width: 720px;
}
.sn-lg2-intro {
 font-family: var(--font-heading);
 font-weight: 400;
 font-size: clamp(17px, 1.5vw, 20px);
 line-height: 1.65;
 color: var(--fg-on-light-2);
 margin: 0 0 clamp(48px, 5vw, 64px);
 padding-bottom: clamp(36px, 4vw, 48px);
 border-bottom: 1px solid var(--lg2-rule);
 text-wrap: pretty;
}
.sn-lg2-intro strong { color: var(--fg-on-light-1); font-weight: 600; }
.sn-lg2-intro em { font-style: italic; color: var(--brass-600); }

.sn-lg2-section {
 padding-bottom: clamp(40px, 4.5vw, 56px);
 margin-bottom: clamp(40px, 4.5vw, 56px);
 border-bottom: 1px solid var(--lg2-rule);
}
.sn-lg2-section:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.sn-lg2-section-head {
 display: grid;
 grid-template-columns: 48px 1fr;
 align-items: baseline;
 gap: 16px;
 margin: 0 0 clamp(22px, 2.4vw, 28px);
}
.sn-lg2-section-no {
 font-family: var(--font-display);
 font-weight: 900;
 font-style: italic;
 font-size: clamp(24px, 2.2vw, 32px);
 line-height: 1;
 color: var(--brass-600);
 letter-spacing: -0.025em;
 font-variant-numeric: tabular-nums;
}
.sn-lg2-section-h {
 font-family: var(--font-display);
 font-weight: 900;
 font-size: clamp(24px, 2.2vw, 32px);
 line-height: 1.15;
 letter-spacing: -0.02em;
 color: var(--fg-on-light-1);
 margin: 0;
 text-wrap: balance;
}
.sn-lg2-section-h em {
 font-style: italic;
 color: var(--brass-600);
 font-weight: 900;
}

/* Section body, paragraphs, lists, h3 subheads, tables, definitions */
.sn-lg2-prose {
 font-family: var(--font-heading);
 font-weight: 400;
 font-size: clamp(15px, 1.2vw, 17px);
 line-height: 1.75;
 color: var(--fg-on-light-2);
}
.sn-lg2-prose > * + * { margin-top: clamp(14px, 1.5vw, 18px); }
.sn-lg2-prose > * { margin-bottom: 0; margin-top: 0; }
.sn-lg2-prose p { text-wrap: pretty; }
.sn-lg2-prose p strong { color: var(--fg-on-light-1); font-weight: 600; }
.sn-lg2-prose p em { font-style: italic; color: var(--brass-600); }
.sn-lg2-prose a {
 color: var(--brass-600);
 text-decoration: underline;
 text-underline-offset: 3px;
 text-decoration-thickness: 1px;
 transition: color 200ms;
}
.sn-lg2-prose a:hover { color: var(--brass-700, var(--brass-600)); text-decoration-thickness: 2px; }

.sn-lg2-prose h3 {
 font-family: var(--font-display);
 font-weight: 700;
 font-size: clamp(18px, 1.6vw, 22px);
 line-height: 1.2;
 letter-spacing: -0.015em;
 color: var(--fg-on-light-1);
 margin: clamp(28px, 3vw, 36px) 0 clamp(8px, 1vw, 12px);
 text-wrap: balance;
}
.sn-lg2-prose h3 em { font-style: italic; color: var(--brass-600); font-weight: 700; }
.sn-lg2-prose h3 + p { margin-top: 0; }

.sn-lg2-prose ul,
.sn-lg2-prose ol {
 margin: 0;
 padding-left: 0;
 list-style: none;
}
.sn-lg2-prose ul li,
.sn-lg2-prose ol li {
 position: relative;
 padding: 4px 0 4px 32px;
 line-height: 1.65;
}
.sn-lg2-prose ul li::before {
 content: "";
 position: absolute;
 left: 12px; top: 14px;
 width: 6px; height: 1.5px;
 background: var(--brass-500);
}
.sn-lg2-prose ol {
 counter-reset: lg2li;
}
.sn-lg2-prose ol li {
 counter-increment: lg2li;
 padding-left: 38px;
}
.sn-lg2-prose ol li::before {
 content: counter(lg2li, decimal-leading-zero);
 position: absolute;
 left: 0; top: 5px;
 font-family: var(--font-display);
 font-weight: 700;
 font-style: italic;
 font-size: 14px;
 color: var(--brass-600);
 letter-spacing: -0.01em;
 font-variant-numeric: tabular-nums;
}

/* Definition list, used in Regulamin / Cookies for term → meaning */
.sn-lg2-prose dl {
 display: grid;
 grid-template-columns: 200px 1fr;
 gap: 14px 24px;
 padding: clamp(20px, 2vw, 24px);
 background: rgba(255, 255, 255, 0.5);
 border: 1px solid var(--lg2-rule);
 border-radius: var(--radius-tight);
}
.sn-lg2-prose dt {
 font-family: var(--font-display);
 font-weight: 700;
 font-style: italic;
 font-size: 15px;
 color: var(--fg-on-light-1);
 letter-spacing: -0.005em;
}
.sn-lg2-prose dd {
 margin: 0;
 font-size: 14px;
 line-height: 1.55;
 color: var(--fg-on-light-2);
 text-wrap: pretty;
}

/* Cookies table */
.sn-lg2-table {
 width: 100%;
 border-collapse: collapse;
 font-family: var(--font-body);
 font-size: 13px;
 line-height: 1.5;
 margin: 8px 0;
}
.sn-lg2-table thead th {
 background: transparent;
 padding: 10px 14px 10px 0;
 text-align: left;
 font-family: var(--font-body);
 font-weight: 700;
 font-size: var(--fs-nano);
 letter-spacing: var(--ls-loose);
 text-transform: uppercase;
 color: var(--brass-600);
 border-bottom: 1px solid var(--ink-900);
}
.sn-lg2-table tbody td {
 padding: 14px 14px 14px 0;
 border-bottom: 1px solid var(--lg2-rule);
 color: var(--fg-on-light-2);
 vertical-align: top;
}
.sn-lg2-table tbody td:first-child {
 font-family: var(--font-display);
 font-weight: 700;
 font-style: italic;
 color: var(--fg-on-light-1);
 letter-spacing: -0.005em;
}
.sn-lg2-table tbody td strong { color: var(--fg-on-light-1); font-weight: 600; }
.sn-lg2-table tbody tr:last-child td { border-bottom: 0; }

/* Highlight callout (e.g. "Twoje prawa", "Skarga") */
.sn-lg2-callout {
 background: var(--ink-900);
 color: var(--fg-on-dark-1);
 padding: clamp(22px, 2.4vw, 28px);
 border-radius: var(--radius-tight);
 margin: clamp(20px, 2vw, 24px) 0;
 display: grid;
 grid-template-columns: auto 1fr;
 gap: 18px;
 align-items: start;
}
.sn-lg2-callout-tag {
 font-family: var(--font-body);
 font-size: var(--fs-nano);
 font-weight: 700;
 letter-spacing: var(--ls-loose);
 text-transform: uppercase;
 color: var(--brass-400);
 padding-top: 4px;
 white-space: nowrap;
}
.sn-lg2-callout-body {
 font-family: var(--font-heading);
 font-size: clamp(14px, 1.2vw, 16px);
 line-height: 1.55;
 color: var(--fg-on-dark-2);
 margin: 0;
}
.sn-lg2-callout-body strong { color: var(--fg-on-dark-1); font-weight: 600; }
.sn-lg2-callout-body a { color: var(--brass-400); text-decoration: underline; }

/* Bottom CTA */
.sn-lg2-cta {
 background: var(--ink-900);
 color: var(--fg-on-dark-1);
 padding: clamp(64px, 7vw, 96px) 0;
}
.sn-lg2-cta-inner {
 display: grid;
 grid-template-columns: minmax(0, 5fr) minmax(0, 4fr);
 gap: clamp(40px, 5vw, 72px);
 align-items: center;
}
.sn-lg2-cta-h {
 font-family: var(--font-display);
 font-weight: 900;
 font-size: clamp(26px, 2.6vw, 38px);
 line-height: 1.1;
 letter-spacing: -0.02em;
 color: var(--fg-on-dark-1);
 margin: 0 0 14px;
 text-wrap: balance;
}
.sn-lg2-cta-h em { font-style: italic; color: var(--brass-400); }
.sn-lg2-cta-p {
 font-family: var(--font-heading);
 font-size: clamp(15px, 1.3vw, 17px);
 line-height: 1.55;
 color: var(--fg-on-dark-3);
 margin: 0;
 text-wrap: pretty;
}
.sn-lg2-cta-actions {
 display: flex;
 flex-direction: column;
 gap: 12px;
 align-items: flex-start;
}
.sn-lg2-cta-primary {
 display: inline-flex;
 align-items: center;
 gap: 10px;
 padding: 16px 22px;
 background: var(--brass-500);
 color: #fff;
 font-family: var(--font-body);
 font-size: 13px;
 font-weight: 700;
 letter-spacing: var(--ls-cta);
 text-transform: uppercase;
 border-radius: var(--radius-tight);
 text-decoration: none;
 transition: background 220ms;
}
.sn-lg2-cta-primary:hover { background: var(--brass-400); }
.sn-lg2-cta-primary svg { width: 12px; height: 12px; }
.sn-lg2-cta-secondary {
 font-family: var(--font-body);
 font-size: 13px;
 color: var(--fg-on-dark-3);
 text-decoration: none;
 letter-spacing: 0.02em;
}
.sn-lg2-cta-secondary:hover { color: var(--brass-400); }

@media (max-width: 1000px) {
 .sn-lg2-hero-content { grid-template-columns: 1fr; }
 .sn-lg2-layout { grid-template-columns: 1fr; }
 .sn-lg2-toc { position: static; }
 .sn-lg2-cta-inner { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
 .sn-lg2-hero-meta-card { grid-template-columns: 1fr; }
 .sn-lg2-prose dl { grid-template-columns: 1fr; gap: 4px 0; }
 .sn-lg2-prose dt { padding-top: 12px; border-top: 1px solid var(--lg2-rule); }
 .sn-lg2-prose dl > dt:first-of-type { padding-top: 0; border-top: 0; }
 .sn-lg2-callout { grid-template-columns: 1fr; gap: 8px; }
}
