/* Privacy Policy page-specific styles: light, modular, accessible */
:root {
  --pp-maxw: 1200px;
  --pp-space-1: 0.5rem;
  --pp-space-2: 1rem;
  --pp-space-3: 1.5rem;
  --pp-space-4: 2rem;
  --pp-space-6: 3rem;
  --pp-radius: 12px;
  --pp-border: 1px solid rgba(255,255,255,0.08);
  --pp-muted: rgba(255,255,255,0.7);
  --pp-accent: #1f6b4a; /* głęboka zieleń, zgodna z klimatem */
  --pp-accent-2: #2d805d;
}

.container { max-width: var(--pp-maxw); margin-inline: auto; padding-inline: var(--pp-space-2); }

.policy-hero { padding: var(--pp-space-6) var(--pp-space-2) var(--pp-space-4); background: radial-gradient(1200px 600px at 20% -10%, rgba(46, 139, 87, 0.18), transparent), linear-gradient(180deg, rgba(7, 12, 10, 0.9), rgba(7, 12, 10, 0.6)); border-bottom: var(--pp-border); }
.policy-hero__inner { max-width: 920px; margin-inline: auto; text-align: left; }
.policy-hero h1 { margin: 0 0 var(--pp-space-2); font-size: clamp(2rem, 3.5vw, 2.75rem); }
.policy-hero__lead { margin: 0 0 var(--pp-space-2); color: var(--pp-muted); line-height: 1.7; }
.policy-meta { margin: 0; color: var(--pp-muted); font-size: 0.95rem; }

.policy-grid { display: grid; grid-template-columns: 1fr; gap: var(--pp-space-4); padding: var(--pp-space-4) 0; }
@media (min-width: 992px) { .policy-grid { grid-template-columns: 280px 1fr; align-items: start; } }

.policy-toc { position: sticky; top: 6rem; border: var(--pp-border); border-radius: var(--pp-radius); padding: var(--pp-space-3); backdrop-filter: blur(6px); background: rgba(20, 24, 22, 0.5); }
.policy-toc__title { margin: 0 0 var(--pp-space-2); font-size: 1.05rem; letter-spacing: 0.3px; color: var(--pp-muted); }
.policy-toc__list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--pp-space-1); }
.policy-toc a { display: block; padding: 0.5rem 0.65rem; border-radius: 8px; color: inherit; text-decoration: none; border: 1px solid transparent; }
.policy-toc a:hover { background: rgba(31, 107, 74, 0.12); border-color: rgba(31, 107, 74, 0.28); }
.policy-toc a[aria-current="location"] { background: rgba(31, 107, 74, 0.18); border-color: rgba(31, 107, 74, 0.45); color: #e9fff5; }
.policy-toc a:focus-visible { outline: 3px solid var(--pp-accent-2); outline-offset: 2px; }

.policy-content { min-width: 0; }
.policy-section { padding-top: var(--pp-space-3); margin-top: var(--pp-space-3); border-top: var(--pp-border); }
.policy-section h2 { margin: 0 0 var(--pp-space-2); font-size: clamp(1.25rem, 2.4vw, 1.5rem); }
.policy-section p { margin: 0 0 var(--pp-space-2); line-height: 1.75; }
.policy-section ul { margin: 0 0 var(--pp-space-2); padding-left: 1.2rem; }
.policy-section li { margin: 0 0 0.5rem; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.6rem 1rem; border-radius: 10px; border: 1px solid rgba(255,255,255,0.14); cursor: pointer; text-decoration: none; transition: background .2s ease, border-color .2s ease, transform .06s ease; }
.btn:hover { border-color: rgba(255,255,255,0.28); }
.btn:active { transform: translateY(1px); }
.btn-secondary { background: rgba(31, 107, 74, 0.15); color: #eafff5; }
.btn-secondary:hover { background: rgba(31, 107, 74, 0.25); }

/* Print-friendly */
@media print { .policy-toc { display: none; } .policy-hero { background: transparent; } .btn { display: none; } }
