/* Shared styles used across pages. Page-specific rules live in assets/css/pages/<page>.css. */

:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }

.link-muted { color: color-mix(in srgb, var(--color-text) 66%, transparent); text-decoration: none; width: fit-content; transition: color 200ms ease; }
.link-muted:hover { color: var(--color-text); }

/* Legal pages */
.prose { font-size: 16px; line-height: 1.7; color: color-mix(in srgb, var(--color-text) 80%, transparent); text-wrap: pretty; }
.prose h2 { font-size: clamp(20px, 2.2vw, 24px); letter-spacing: -0.02em; color: var(--color-text); margin: 48px 0 12px; }
.prose p, .prose ul { margin: 0 0 16px; }
.prose ul { padding-left: 20px; }
.prose li { margin-bottom: 10px; }
.prose strong { color: var(--color-text); font-weight: 500; }
.prose table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 8px 0 16px; }
.prose th, .prose td { text-align: left; padding: 10px 14px 10px 0; border-bottom: 1px solid var(--color-divider); vertical-align: top; }
.prose th { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 500; color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.table-scroll { overflow-x: auto; }

/* Cookie banner */
.cookie-banner { position: fixed; left: 16px; bottom: 16px; z-index: 200; max-width: min(420px, calc(100vw - 32px)); box-sizing: border-box; padding: 18px 20px; border: 1px solid var(--color-divider); border-radius: var(--radius-lg); background: var(--color-surface); color: var(--color-text); font-family: var(--font-body); box-shadow: 0 24px 60px -24px rgba(0, 0, 0, 0.9); }
.cookie-banner[hidden] { display: none; }
.cookie-banner p { margin: 0; font-size: 14px; line-height: 1.55; color: color-mix(in srgb, var(--color-text) 78%, transparent); }
.cookie-banner__actions { display: flex; gap: 10px; margin-top: 14px; }
.cookie-banner__actions .btn { flex: 1; justify-content: center; font-size: 13px; }
