/* Przełącznik języka (prawy dolny róg) i style strony z treścią prawną. */
.lang { position: fixed; z-index: 80; right: max(16px, env(safe-area-inset-right, 0px)); bottom: max(16px, env(safe-area-inset-bottom, 0px)); font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.lang-btn {
  display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px;
  color: #f2f2f2; background: rgba(12,12,12,.72); -webkit-backdrop-filter: blur(16px) saturate(160%); backdrop-filter: blur(16px) saturate(160%);
  font: 650 12px/1 Inter, system-ui, sans-serif; letter-spacing: .1em; cursor: pointer; transition: border-color .25s ease, background .25s ease;
}
.lang-btn:hover, .lang.is-open .lang-btn { border-color: rgba(255,255,255,.5); background: rgba(24,24,24,.85); }
.lang-btn svg { width: 16px; height: 16px; }
.lang-list {
  position: absolute; right: 0; bottom: calc(100% + 10px); min-width: 188px; margin: 0; padding: 6px; list-style: none;
  border: 1px solid rgba(255,255,255,.16); border-radius: 14px; background: rgba(12,12,12,.94); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
  box-shadow: 0 20px 50px rgba(0,0,0,.55); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .22s ease, transform .22s ease, visibility .22s;
}
.lang.is-open .lang-list { opacity: 1; visibility: visible; transform: none; }
.lang-list button {
  display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; padding: 10px 12px; border: 0; border-radius: 9px;
  color: #cfcfcf; background: transparent; font: 550 13px/1.2 Inter, system-ui, sans-serif; text-align: left; cursor: pointer;
}
.lang-list button:hover, .lang-list button:focus-visible { color: #fff; background: rgba(255,255,255,.09); }
.lang-list button[aria-current="true"] { color: #fff; }
.lang-list button[aria-current="true"]::after { content: "✓"; color: #d7d7d7; }
.lang-list small { color: #777; font-size: 10px; font-weight: 650; letter-spacing: .12em; }

/* Strona z treścią prawną */
.legal { max-width: 820px; padding: clamp(56px, 9vw, 120px) 0 clamp(72px, 10vw, 140px); }
.legal-title { margin-top: 4px; font-size: clamp(2.2rem, 4.6vw, 3.8rem); font-weight: 600; line-height: 1.08; letter-spacing: -.03em; }
.legal-date { margin: 14px 0 44px; color: #8f8f8f; font-size: 13px; }
.legal h2 { margin: 42px 0 12px; font-size: clamp(1.15rem, 1.8vw, 1.45rem); font-weight: 600; letter-spacing: -.02em; }
.legal h3 { margin: 22px 0 6px; color: #d7d7d7; font-size: 14px; font-weight: 650; letter-spacing: .01em; }
.legal p { max-width: 68ch; color: #a9a9a9; font-size: 15px; line-height: 1.75; }
.legal p + p { margin-top: 12px; }
.footer nav a[aria-current="page"] { color: #fff; }
footer a { color: inherit; text-decoration: none; }
footer a:hover { color: #fff; }
@media (max-width: 580px) { .lang-btn { min-height: 40px; } }
.legal-note { margin: -28px 0 36px; color: #7d7d7d; font-size: 12px; font-style: italic; }

.contact-legal { margin-top: 22px; font-size: 12px; }
.contact-legal a { color: #8f8f8f; text-decoration: underline; text-underline-offset: 3px; }
.contact-legal a:hover { color: #fff; }
body { padding-bottom: 56px; }
.fnav { display: flex; flex-wrap: wrap; gap: 8px 22px; }
