/* Dokumenty prawne: treść (.legal-doc — na stronach /regulamin, /polityka-prywatnosci, /polityka-cookies i w oknie)
   oraz okno modalne z dokumentem (assets/legal-popup.js). Selektory z prefiksem, bo strony mają własne style
   ogólne (section, h2, table) — tu każda właściwość jest ustawiona wprost. Barwy klubu: biały → niebieski → czerwony. */
.legal-doc,.legal-popup{
  --ld-navy:#17347E; --ld-ink:#0F1F4B; --ld-red:#E30613; --ld-text:#1F2A44; --ld-muted:#5B6782;
  --ld-tint:#EAF1FB; --ld-tint-line:#CFDDF5; --ld-line:#E3E8F1; --ld-paper:#FFFFFF;
  --ld-cond:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --ld-tricolor:linear-gradient(90deg,#fff 0 33.34%,var(--ld-navy) 33.34% 66.67%,var(--ld-red) 66.67%);
}

/* ---------- treść dokumentu ---------- */
.legal-doc{color:var(--ld-text);font-size:15px;line-height:1.62;text-align:left;overflow-wrap:break-word}
.legal-doc a{color:var(--ld-navy);text-decoration:underline;text-underline-offset:2px}
.legal-doc h1,.legal-doc h2,.legal-doc h3{margin:0;padding:0;font-family:var(--ld-cond);font-weight:800;text-transform:uppercase;
  color:var(--ld-ink);letter-spacing:.01em;text-wrap:balance}
.legal-doc h1{font-size:clamp(28px,6.4vw,40px);line-height:1.02}
.legal-doc h2{margin-bottom:4px;font-size:21px;line-height:1.15}
.legal-doc h2 span{color:var(--ld-red);margin-right:8px}
.legal-doc h3{margin-top:16px;font-size:17px;line-height:1.2}
.legal-doc p{margin:10px 0 0}
.legal-doc ol,.legal-doc ul{margin:10px 0 0;padding-left:22px}
.legal-doc li{margin:0 0 8px}
.legal-doc ol ol{margin-top:7px;list-style:lower-latin}
.legal-doc b{font-weight:700}
.legal-doc code{font-size:.9em;background:#F2F5FA;border:1px solid var(--ld-line);padding:0 5px;border-radius:4px}
.legal-doc .legal-head{padding-block:34px 6px}
.legal-doc .legal-lead{margin-top:10px;color:var(--ld-muted);font-size:14.5px}
.legal-doc .legal-rule{height:6px;width:132px;margin-top:14px;border-radius:3px;background:var(--ld-tricolor);
  box-shadow:inset 0 0 0 1px rgba(15,31,75,.2)}
.legal-doc section.legal-par{margin:0;padding-block:22px;border-top:1px solid var(--ld-line)}
.legal-doc section.legal-par:first-of-type{border-top:0}
.legal-doc .legal-note{margin-top:12px;padding:12px 14px;border-radius:10px;background:var(--ld-tint);border:1px solid var(--ld-tint-line);
  font-size:14px}
.legal-doc mark.fill{background:#FFF3C4;border:1px dashed #E0B400;border-radius:5px;padding:1px 7px;color:#6B5200;font-weight:600;
  font-size:.94em}
.legal-doc .legal-todo{margin-top:22px;padding:16px 18px;border-radius:12px;background:#FFF8E1;border:1px solid #F0D98A;
  font-size:14px;color:#5F4A00}
.legal-doc .legal-todo b{display:block;margin-bottom:6px;color:#3E3000;font-family:var(--ld-cond);text-transform:uppercase;
  font-size:16px;letter-spacing:.03em}
.legal-doc .legal-todo ul{margin:0;padding-left:20px}
.legal-doc .legal-toc{margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--ld-tint);border:1px solid var(--ld-tint-line)}
.legal-doc .legal-toc ol{margin:6px 0 0;columns:2 220px;column-gap:24px}
.legal-doc .legal-toc li{margin:0 0 4px;break-inside:avoid}

/* pliki cookies i pamięć przeglądarki — karty zamiast szerokiej tabeli (telefon) */
.legal-doc .legal-cookies{display:grid;gap:10px;margin-top:12px;padding:0;list-style:none}
.legal-doc .legal-cookies > li{margin:0;padding:12px 14px;border:1px solid var(--ld-line);border-radius:12px;background:var(--ld-paper)}
.legal-doc .legal-cookies h3{margin:0;font-size:17px;text-transform:none;letter-spacing:0}
.legal-doc .legal-cookies dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0 0;font-size:14px}
.legal-doc .legal-cookies dt{color:var(--ld-muted);font-weight:600}
.legal-doc .legal-cookies dd{margin:0}
.legal-doc .legal-tag{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--ld-tint);
  color:var(--ld-navy);font:700 11.5px/1.6 var(--ld-cond);letter-spacing:.06em;text-transform:uppercase;vertical-align:middle}
.legal-doc .legal-tag.is-consent{background:#FDECEE;color:#9E0F2A}
@media (min-width:760px){.legal-doc{font-size:15.5px}.legal-doc .legal-cookies{grid-template-columns:1fr 1fr}}

/* ---------- okno z dokumentem: na telefonie pełny ekran, od 760 px karta na środku ---------- */
html:has(dialog.legal-popup[open]){overflow:hidden}
dialog.legal-popup{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;
  border-radius:0;background:var(--ld-paper);color:var(--ld-text);box-shadow:0 30px 80px -24px rgba(11,23,51,.6);overflow:hidden}
dialog.legal-popup[open]{display:flex;flex-direction:column;animation:legal-popup-in .28s cubic-bezier(.22,1,.36,1)}
dialog.legal-popup::backdrop{background:rgba(11,23,51,.62);backdrop-filter:blur(2px)}
@keyframes legal-popup-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.legal-popup-tricolor{flex:none;height:5px;background:var(--ld-tricolor);box-shadow:inset 0 -1px 0 rgba(15,31,75,.18)}
.legal-popup-head{flex:none;display:flex;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px 18px;
  border-bottom:1px solid var(--ld-line)}
.legal-popup-title{flex:1;min-width:0;margin:0;font:800 21px/1.1 var(--ld-cond);text-transform:uppercase;letter-spacing:.01em;
  color:var(--ld-ink);text-wrap:balance}
.legal-popup-x{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:10px;border:1px solid var(--ld-line);
  background:var(--ld-paper);color:var(--ld-ink);cursor:pointer}
.legal-popup-x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.legal-popup-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 18px 28px}
.legal-popup-body .legal-head{padding-block:16px 4px}
.legal-popup-body .legal-todo{margin-bottom:4px}
.legal-popup-status{margin:24px 0 0;color:var(--ld-muted)}
.legal-popup-foot{flex:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;
  padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--ld-line);background:#F7F9FC}
.legal-popup-page{color:var(--ld-navy);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.legal-popup-done{min-height:44px;padding:10px 22px;border:0;border-radius:10px;background:var(--ld-navy);color:#fff;
  font-family:inherit;font-size:14px;font-weight:700;line-height:1;letter-spacing:.02em;cursor:pointer}
.legal-popup button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  transition:transform .22s cubic-bezier(.22,1,.36,1),background-color .15s ease}
.legal-popup button:active{transform:scale(.96);transition-duration:90ms}
.legal-popup button:focus-visible,.legal-popup a:focus-visible{outline:3px solid rgba(23,52,126,.45);outline-offset:2px}
@media (hover:hover) and (pointer:fine){
  .legal-popup-x:hover{background:var(--ld-tint)}
  .legal-popup-done:hover{background:var(--ld-ink)}
}
@media (min-width:760px){
  dialog.legal-popup{inset:0;width:min(800px,calc(100% - 48px));height:min(880px,calc(100dvh - 48px));margin:auto;border-radius:16px}
  .legal-popup-head{padding:14px 14px 12px 26px}
  .legal-popup-title{font-size:24px}
  .legal-popup-body{padding:0 26px 30px}
  .legal-popup-foot{padding:12px 26px}
}
@media (prefers-reduced-motion:reduce){
  dialog.legal-popup[open]{animation:none}
  .legal-popup button{transition:none}
  .legal-popup button:active{transform:none}
}
