/* ===== PantryOS legal pages (regulamin, polityka prywatności) =====
   Loaded AFTER /styles.css. Reuses its tokens; independent of blog.css. */

/* One shared content column for the whole legal page (header + all sections),
   so every element lines up to the same left/right edge. ~800px readable width. */
.container--legal { max-width: 840px; }

/* Breadcrumb (same look as the blog) */
.crumbs { padding: 26px 0 0; font-size: 13.5px; color: var(--muted); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.crumbs a:hover { color: var(--navy); }
.crumbs span[aria-current] { color: var(--navy); font-weight: 600; }
.crumbs .sep { opacity: .5; }

/* Header */
.legal-head { padding: 40px 0 6px; }
.legal-head__title { font-size: clamp(30px, 5vw, 46px); letter-spacing: -0.03em; }
.legal-head__meta { margin-top: 14px; color: var(--muted); font-size: 14px; }
.legal-head__intro { margin-top: 20px; max-width: 70ch; color: var(--muted); font-size: 16.5px; line-height: 1.7; }

/* Company card */
.legal-firm { margin-top: 22px; padding: 18px 20px; background: var(--card); border: 1px solid var(--border); border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); font-size: 15px; line-height: 1.65; color: #2c3852; max-width: 560px; }
.legal-firm strong { color: var(--navy); }

/* Prose body */
.legal { padding: 20px 0 40px; }
.legal h2 { font-size: clamp(20px, 3vw, 25px); letter-spacing: -0.02em; margin: 46px 0 0; }
.legal h3 { font-family: var(--font-head); font-weight: 700; font-size: 17.5px; letter-spacing: -0.01em; margin: 26px 0 0; color: var(--navy); }
.legal p { margin: 14px 0 0; color: #2c3852; font-size: 16.5px; line-height: 1.72; }
.legal ul, .legal ol { margin: 14px 0 0; display: grid; gap: 9px; }
.legal ul { list-style: none; padding: 0; }
.legal ul li { position: relative; padding-left: 26px; font-size: 16.5px; line-height: 1.6; color: #2c3852; }
.legal ul li::before { content: ""; position: absolute; left: 4px; top: 10px; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); }
.legal ol { list-style: decimal; padding-left: 22px; }
/* Direct children only, so numbered-item padding does not leak onto (and squash)
   nested bullet <li> items, which must keep the .legal ul li bullet gutter. */
.legal ol > li { font-size: 16.5px; line-height: 1.62; color: #2c3852; padding-left: 4px; }
.legal ol > li::marker { color: var(--blue-ink); font-weight: 600; }
.legal strong { font-weight: 600; color: var(--navy); }
.legal a { color: var(--blue-ink); text-decoration: underline; text-underline-offset: 2px; }
.legal a:hover { color: var(--navy); }

/* Callout note (e.g. Google Fonts / IP, prawo odstąpienia) */
.legal__note { margin-top: 22px; padding: 16px 18px; background: var(--blue-soft); border-radius: var(--radius-sm); font-size: 15px; line-height: 1.65; color: #2c3852; }
.legal__note strong { color: var(--navy); }

/* Effective date footer line */
.legal__updated { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--border); font-size: 14px; color: var(--muted); }
