/* Wygląd stron prawnych: regulamin.html i polityka-prywatnosci.html */
/* płynne przejście z/na stronę główną */
@view-transition{ navigation: auto }
@media (prefers-reduced-motion: reduce){
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){ animation:none!important }
}
::view-transition-old(root){ animation: vt-out 180ms cubic-bezier(.23,1,.32,1) both }
::view-transition-new(root){ animation: vt-in 260ms cubic-bezier(.23,1,.32,1) both }
@keyframes vt-out{ to{ opacity:0 } }
@keyframes vt-in{ from{ opacity:0; transform:translateY(8px) } }
/* self-hosted fonts (bez Google Fonts - prywatność / RODO) */
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/hanken-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/hanken-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/hanken-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/hanken-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Martian Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/martian-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Martian Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/martian-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Martian Mono';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/martian-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Martian Mono';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/martian-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --ink-0:#0A0908; --ink-1:#12100E; --ink-2:#1A1714;
  --line:#2A2622; --line-soft:#211E1B;
  --fg:#EDE9E3; --fg-dim:#9A928A;
  --red:#FF3B2F; --red-soft:#FF8B7A;
  --ff-body:"Hanken Grotesk",-apple-system,system-ui,sans-serif;
  --ff-mono:"Martian Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --wrap:68ch;
  --pad:clamp(20px,5vw,40px);
  --r:3px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--ink-0); color:var(--fg);
  font-family:var(--ff-body); font-size:16.5px; line-height:1.72; font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-wrap:break-word;
}
.wrap{max-width:var(--wrap); margin-inline:auto; padding:0 var(--pad)}
::selection{background:var(--red); color:#1A0603}
:focus-visible{outline:2px solid var(--red); outline-offset:3px; border-radius:1px}
[id]{scroll-margin-top:24px}

a{color:var(--fg); text-decoration:none; border-bottom:1px solid var(--red); transition:color .15s ease, border-color .15s ease}
a:hover{color:var(--red-soft); border-color:var(--red-soft)}

/* ---- góra strony ---- */
.top{padding:clamp(24px,5vw,44px) 0 0}
.back{
  display:inline-block; font-family:var(--ff-mono); font-size:11.5px; font-weight:400;
  letter-spacing:.08em; text-transform:uppercase; color:var(--fg-dim); border-bottom:0;
}
.back:hover{color:var(--red-soft)}
.warn{
  margin:22px 0 0; padding:16px 18px;
  border:1px solid var(--red); border-radius:var(--r);
  background:rgba(255,59,47,.07);
  font-family:var(--ff-mono); font-size:12px; line-height:1.62; letter-spacing:.005em; color:var(--fg);
}
.warn b{color:var(--red-soft); font-weight:600}

/* ---- nagłówki ---- */
h1{
  font-family:var(--ff-mono); font-weight:600; letter-spacing:-.02em; line-height:1.16;
  font-size:clamp(1.5rem,5vw,2.15rem); margin:clamp(30px,6vw,52px) 0 0; text-wrap:balance;
}
.kicker{
  font-family:var(--ff-mono); font-size:11px; font-weight:400; letter-spacing:.17em;
  text-transform:uppercase; color:var(--fg-dim); margin:0 0 14px;
}
.kicker::before{content:""; display:inline-block; width:18px; height:1px; background:var(--red); vertical-align:middle; margin-right:10px; margin-bottom:3px}
.lede{margin:18px 0 0; color:var(--fg-dim); font-size:1.02rem}
.stamp{
  margin:26px 0 0; padding:14px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.06em; color:var(--fg-dim); line-height:1.9;
}

h2{
  font-family:var(--ff-mono); font-weight:600; letter-spacing:-.012em; line-height:1.28;
  font-size:clamp(1.02rem,2.6vw,1.22rem); color:var(--fg);
  margin:clamp(44px,7vw,64px) 0 0; padding-top:22px; border-top:1px solid var(--line);
  text-wrap:balance;
}
h2 .n{color:var(--red); font-weight:600}
h3{
  font-family:var(--ff-body); font-weight:600; font-size:1.02rem; line-height:1.45;
  margin:30px 0 0; color:var(--fg);
}
h4{font-family:var(--ff-mono); font-weight:600; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--fg-dim); margin:26px 0 0}
.label-sm{font-family:var(--ff-mono); font-weight:600; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--fg-dim); border-top:none; padding-top:0}

p{margin:.85em 0 0}
ul,ol{margin:.85em 0 0; padding-left:1.35em}
li{margin:.4em 0}
li::marker{color:var(--red)}
ul.plain{list-style:none; padding-left:0}
ul.plain li{padding-left:18px; position:relative}
ul.plain li::before{content:""; position:absolute; left:0; top:.66em; width:6px; height:6px; background:var(--red)}
ol.lettered{list-style:lower-latin}
strong{font-weight:600}
small{font-size:.88em; color:var(--fg-dim)}
abbr{text-decoration:none; border-bottom:1px dotted var(--fg-dim); cursor:help}

/* ---- placeholder do uzupełnienia ---- */
.ph{
  font-family:var(--ff-mono); font-weight:600; font-size:.86em; letter-spacing:-.01em;
  color:#FFB9AD; background:rgba(255,59,47,.12); border:1px solid rgba(255,59,47,.3);
  padding:1px 6px; border-radius:2px; white-space:normal;
}

/* ---- bloki ---- */
.box{
  margin:24px 0 0; padding:18px 20px;
  background:var(--ink-1); border:1px solid var(--line); border-left:2px solid var(--red); border-radius:var(--r);
}
.box > :first-child{margin-top:0}
.box h4, .box .label-sm{margin-top:0}
.box--quiet{border-left-color:var(--line)}

/* ---- wzór dokumentu do skopiowania ---- */
.tpl{
  margin:24px 0 0; padding:22px 22px 24px;
  background:var(--ink-1); border:1px dashed #3A342E; border-radius:var(--r);
  font-family:var(--ff-mono); font-size:13px; line-height:1.85;
}
.tpl > :first-child{margin-top:0}
.tpl h4, .tpl .label-sm{margin-top:0; color:var(--red-soft)}
.tpl p{margin:.9em 0 0}
.tpl ul,.tpl ol{margin:.9em 0 0}
.tpl .line{color:var(--fg-dim)}
.tpl .sig{margin-top:26px; padding-top:16px; border-top:1px solid var(--line); color:var(--fg-dim); font-size:12px}

/* ---- spis treści ---- */
.toc{
  margin:34px 0 0; padding:20px 22px; background:var(--ink-1);
  border:1px solid var(--line); border-radius:var(--r);
}
.toc h4, .toc .label-sm{margin:0 0 10px}
.toc ol{margin:0; padding-left:1.5em; font-size:.95rem}
.toc li{margin:.28em 0}
.toc a{border-bottom:0; color:var(--fg-dim)}
.toc a:hover{color:var(--fg)}
@media(min-width:620px){ .toc ol{columns:2; column-gap:34px} .toc li{break-inside:avoid} }

/* ---- tabele ---- */
.tw{margin:22px 0 0; overflow-x:auto; border:1px solid var(--line); border-radius:var(--r); -webkit-overflow-scrolling:touch}
table{border-collapse:collapse; width:100%; min-width:560px; font-size:14.5px; line-height:1.6}
th{
  font-family:var(--ff-mono); font-weight:600; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--fg-dim); text-align:left; padding:12px 14px; background:var(--ink-2); border-bottom:1px solid var(--line);
  vertical-align:bottom;
}
td{padding:13px 14px; border-bottom:1px solid var(--line-soft); vertical-align:top; color:var(--fg)}
tr:last-child td{border-bottom:0}
td.dim{color:var(--fg-dim)}
.tw + small{display:block; margin-top:10px}

/* ---- stopka ---- */
.foot{
  margin:clamp(52px,8vw,84px) 0 0; padding:26px 0 clamp(44px,8vw,72px);
  border-top:1px solid var(--line);
  font-family:var(--ff-mono); font-size:11.5px; letter-spacing:.04em; color:var(--fg-dim); line-height:2;
}
.foot a{color:var(--fg-dim); border-bottom:1px solid var(--line)}
.foot a:hover{color:var(--fg); border-color:var(--red)}
.foot .sep{color:var(--line); padding:0 4px}

/* ---- druk ---- */
@media print{
  :root{--fg:#111; --fg-dim:#555; --line:#ccc; --line-soft:#e3e3e3; --ink-0:#fff; --ink-1:#fafafa; --ink-2:#f2f2f2}
  body{background:#fff; color:#111; font-size:11pt}
  .back,.foot a{display:none}
  .warn{border-color:#111; background:#fff}
  .tpl{border-color:#999; background:#fff}
  .ph{background:#fff; color:#111; border-color:#999}
  a{color:#111; border-bottom:0; text-decoration:underline}
  h2{break-after:avoid} .tpl{break-inside:avoid} .tw,table{break-inside:auto} tr{break-inside:avoid}
}

/* Pasek „Treningi personalne w Tczewie” nad stopką */
.gym{--gl:var(--line); --gb:var(--ink-1); --ga:var(--red); --gi:var(--fg); --gd:var(--fg-dim); --gbb:var(--red); --gbt:#1A0603}
.gym{margin-top:clamp(52px,8vw,84px)}
.gym + .foot{margin-top:48px}
.gym{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px 32px; padding:clamp(22px,4vw,32px); border:1px solid var(--gl); border-radius:4px; background:var(--gb)}
.gym__txt{flex:1 1 340px; min-width:0}
.gym__eye{margin:0 0 10px; font-family:var(--ff-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ga)}
.gym__h{margin:0 0 10px; border:0; padding:0; font-family:var(--ff-display,var(--ff-body)); font-weight:800; font-size:clamp(22px,3vw,28px); line-height:1.1; letter-spacing:-.02em; color:var(--gi)}
.gym__p{margin:0; font-size:15.5px; line-height:1.6; color:var(--gd); max-width:58ch}
.gym__act{display:flex; flex-direction:column; align-items:flex-start; gap:10px}
.gym__logo{width:150px; height:auto; display:block; margin-bottom:6px}
.gym__btn{display:inline-flex; align-items:center; gap:10px; padding:13px 20px; border-radius:3px; font-family:var(--ff-mono); font-size:13px; font-weight:500; letter-spacing:.03em; text-decoration:none; border:0; background:var(--gbb); color:var(--gbt); transition:transform .14s cubic-bezier(.23,1,.32,1), filter .18s ease}
.gym__btn:hover{filter:brightness(1.08)}
.gym__btn:active{transform:scale(.97)}
.gym__ico{width:18px; height:18px; flex:none}
.gym__map{font-family:var(--ff-mono); font-size:11.5px; letter-spacing:.04em; color:var(--gd); text-decoration:none; border-bottom:1px solid var(--gl)}
.gym__map:hover{color:var(--gi); border-color:var(--ga)}
@media print{.gym{display:none}}
