:root{
  --bg:#0a0a0a; --bg2:#111113; --panel:#161618; --line:#26262a;
  --red:#e10600; --red2:#ff2a1f; --red-dark:#8f0400;
  --silver:#d9dce1; --silver2:#9aa0a8; --white:#f5f6f8;
  --radius:14px;
  --display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;
  --body:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--silver);font:16px/1.6 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(1180px,100% - 32px);margin-inline:auto}
.red{color:var(--red)}
.silver{background:linear-gradient(180deg,#fff 0%,#c9ccd2 45%,#8b9098 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.muted{color:var(--silver2)}
.small{font-size:.85rem}
h1,h2,h3{font-family:var(--display);text-transform:uppercase;font-style:italic;font-weight:800;line-height:1;color:var(--white);margin:0}
h1{font-size:clamp(3rem,8vw,6.2rem);letter-spacing:.01em}
h2{font-size:clamp(2rem,4.5vw,3.2rem);margin-bottom:.6rem}
h3{font-size:1.5rem;letter-spacing:.02em}
.eyebrow{font-family:var(--display);font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--red);margin:0 0 .6rem;font-size:.95rem}
.eyebrow::before{content:"";display:inline-block;width:28px;height:3px;background:var(--red);vertical-align:middle;margin-right:10px;transform:skewX(-20deg)}
.lead{font-size:1.15rem;max-width:34em;color:var(--silver)}

/* buttons */
.btn{font:700 .95rem var(--display);letter-spacing:.12em;text-transform:uppercase;border:0;border-radius:6px;padding:.75rem 1.3rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:.2s;transform:skewX(-8deg)}
.btn>*{transform:skewX(8deg)}
.btn-red{background:linear-gradient(180deg,var(--red2),var(--red));color:#fff;box-shadow:0 6px 24px -6px rgba(225,6,0,.7)}
.btn-red:hover{filter:brightness(1.12);transform:skewX(-8deg) translateY(-2px)}
.btn-ghost{background:transparent;color:var(--silver);border:1.5px solid var(--silver2)}
.btn-ghost:hover{border-color:#fff;color:#fff}
.btn-lg{padding:1rem 1.8rem;font-size:1.05rem}
.btn-block{width:100%}
.btn-sm{padding:.45rem .9rem;font-size:.8rem}
.btn[disabled]{opacity:.45;cursor:not-allowed;filter:none;transform:skewX(-8deg)}
.btn-dark{background:#222226;color:var(--silver)}
.btn-dark:hover{background:#2c2c31}

/* header */
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:1.5rem;padding:.6rem clamp(16px,3vw,40px);background:rgba(10,10,10,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--red) 30%,var(--red) 70%,transparent)}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font:800 1.6rem var(--display);font-style:italic;letter-spacing:.04em}
.brand img{border-radius:50%;object-fit:cover}
.brand b{color:var(--silver)}
.brand i{color:var(--red)}
.nav{display:flex;gap:1.6rem;margin-left:auto}
.nav a{text-decoration:none;font:700 1rem var(--display);letter-spacing:.15em;text-transform:uppercase;color:var(--silver2);transition:.2s;position:relative}
.nav a:hover{color:#fff}
.nav a::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--red);transition:.25s}
.nav a:hover::after{width:100%}
.header-actions{display:flex;gap:.6rem;align-items:center}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:var(--silver);margin:5px 0;transition:.2s}

/* hero */
.hero{position:relative;overflow:hidden;padding:clamp(40px,7vw,90px) 0 clamp(50px,7vw,100px)}
.hero-bg{position:absolute;inset:0;background:
  radial-gradient(700px 500px at 78% 40%,rgba(225,6,0,.35),transparent 70%),
  radial-gradient(500px 400px at 5% 0%,rgba(255,255,255,.06),transparent 70%),
  repeating-linear-gradient(115deg,transparent 0 38px,rgba(255,255,255,.018) 38px 40px)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.hero-copy h1{margin-bottom:1.2rem}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin:2rem 0}
.hero-stats{display:flex;gap:2.5rem;list-style:none;padding:1.2rem 0 0;margin:0;border-top:1px solid var(--line);flex-wrap:wrap}
.hero-stats b{display:block;font:800 2.4rem var(--display);font-style:italic;color:#fff;line-height:1}
.hero-stats span{font-size:.85rem;color:var(--silver2)}
.hero-logo img{width:100%;max-width:560px;margin-inline:auto;mix-blend-mode:lighten;filter:drop-shadow(0 0 60px rgba(225,6,0,.35))}

/* ticker */
.ticker{overflow:hidden;background:var(--red);transform:skewY(-1deg);margin:0 -2%;padding:.5rem 0;border-block:2px solid #000}
.ticker-track{display:flex;gap:2rem;width:max-content;animation:tick 28s linear infinite;font:800 1.4rem var(--display);font-style:italic;text-transform:uppercase;letter-spacing:.1em;color:#fff}
@keyframes tick{to{transform:translateX(-50%)}}

/* sections */
.section{padding:clamp(60px,8vw,110px) 0}
.section-dark{background:var(--bg2);border-block:1px solid var(--line)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;margin-top:2.2rem}
.card{background:linear-gradient(180deg,var(--panel),#101011);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;position:relative;overflow:hidden;transition:.25s}
.card::before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--red);transform:scaleY(0);transform-origin:top;transition:.3s}
.card:hover{border-color:#3a3a40;transform:translateY(-4px)}
.card:hover::before{transform:scaleY(1)}
.card h3{margin:.8rem 0 .5rem}
.card p{margin:0;color:var(--silver2)}
.ico{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;font-size:1.6rem;background:rgba(225,6,0,.12);border:1px solid rgba(225,6,0,.35)}

/* schedule */
.day-tabs{display:flex;gap:.5rem;overflow-x:auto;padding:1.4rem 0 .6rem;scrollbar-width:thin}
.day-tab{flex:0 0 auto;min-width:78px;background:var(--panel);border:1px solid var(--line);color:var(--silver);border-radius:10px;padding:.55rem .8rem;cursor:pointer;text-align:center;font:inherit;transition:.2s}
.day-tab b{display:block;font:800 1.15rem var(--display);text-transform:uppercase;letter-spacing:.08em}
.day-tab span{font-size:.78rem;color:var(--silver2)}
.day-tab:hover{border-color:var(--silver2)}
.day-tab.on{background:linear-gradient(180deg,var(--red2),var(--red-dark));border-color:var(--red);color:#fff}
.day-tab.on span{color:#ffd9d6}
.class-list{display:grid;gap:.8rem;margin-top:1rem}
.class-row{display:grid;grid-template-columns:100px 1fr auto auto;gap:1rem;align-items:center;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:10px;padding:1rem 1.2rem}
.class-row.past{opacity:.45;border-left-color:#444}
.class-time{font:800 1.7rem var(--display);font-style:italic;color:#fff;line-height:1}
.class-time small{display:block;font:500 .78rem var(--body);font-style:normal;color:var(--silver2)}
.class-name{font:800 1.35rem var(--display);text-transform:uppercase;font-style:italic;color:var(--white);letter-spacing:.03em}
.class-meta{font-size:.88rem;color:var(--silver2)}
.spots{font-size:.85rem;text-align:right;white-space:nowrap}
.spots b{color:#fff;font-size:1rem}
.spots.low b{color:#ffb020}
.spots.full b{color:var(--red2)}
.empty{padding:2rem;text-align:center;color:var(--silver2);border:1px dashed var(--line);border-radius:10px}
.tag{display:inline-block;font:700 .72rem var(--display);letter-spacing:.12em;text-transform:uppercase;padding:.15rem .5rem;border-radius:4px;background:#26262a;color:var(--silver)}
.tag.ok{background:rgba(40,180,90,.18);color:#5fe08e}
.tag.warn{background:rgba(255,176,32,.16);color:#ffb020}
.tag.bad{background:rgba(225,6,0,.18);color:#ff6b63}

/* plans */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;margin:2.2rem 0 1rem}
.plan{background:linear-gradient(180deg,var(--panel),#0f0f10);border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem 1.5rem;display:flex;flex-direction:column;gap:.8rem;position:relative}
.plan.hot{border-color:var(--red);box-shadow:0 0 0 1px var(--red),0 20px 60px -20px rgba(225,6,0,.5)}
.plan.hot::after{content:"Najczęściej wybierany";position:absolute;top:-12px;left:50%;transform:translateX(-50%) skewX(-8deg);background:var(--red);color:#fff;font:700 .75rem var(--display);letter-spacing:.14em;text-transform:uppercase;padding:.2rem .8rem;white-space:nowrap}
.plan .price{font:800 3rem var(--display);font-style:italic;color:#fff;line-height:1}
.plan .price small{font-size:1rem;color:var(--silver2);font-style:normal;font-weight:600}
.plan ul{list-style:none;margin:0 0 .5rem;padding:0;display:grid;gap:.4rem;color:var(--silver2);font-size:.92rem;flex:1}
.plan li::before{content:"✓";color:var(--red2);font-weight:700;margin-right:.5rem}

/* trainers */
.trainers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;margin-top:2rem}
.trainer{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-align:center;padding-bottom:1.2rem}
.trainer .ph{aspect-ratio:1/1;background:radial-gradient(circle at 50% 35%,#3a0a08,#0c0c0d 70%);display:grid;place-items:center;font:800 4.5rem var(--display);font-style:italic;color:var(--silver);margin-bottom:1rem}
.trainer h3{font-size:1.4rem}
.trainer p{margin:.2rem 0 0;color:var(--silver2);font-size:.9rem}

/* cta */
.cta{background:linear-gradient(100deg,#1a0302,var(--red-dark) 55%,var(--red));padding:clamp(40px,6vw,70px) 0;border-block:2px solid #000;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 30px,rgba(0,0,0,.12) 30px 60px)}
.cta-inner{position:relative;display:flex;gap:2rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cta h2{margin:0 0 .3rem}
.cta .red{color:#fff;text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:6px}
.cta p{margin:0;color:#ffe3e1}
.cta .btn-red{background:#0a0a0a;box-shadow:none}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.contact-list{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:1rem}
.contact-list li{display:grid;gap:.1rem;padding-left:1rem;border-left:3px solid var(--red)}
.contact-list b{font:700 .85rem var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--silver2)}
.contact-list a:hover{color:#fff}
.contact-form{display:grid;gap:1rem}
.contact-form:hover{transform:none}

/* forms */
label{display:grid;gap:.35rem;font-size:.85rem;font-weight:500;color:var(--silver2)}
input,textarea,select{width:100%;background:#0c0c0d;color:var(--white);border:1px solid #33333a;border-radius:8px;padding:.7rem .85rem;font:inherit}
input:focus,textarea:focus,select:focus{outline:2px solid var(--red);border-color:var(--red)}
.check{grid-template-columns:auto 1fr;align-items:start;gap:.6rem}
.check input{width:auto;margin-top:.25rem;accent-color:var(--red)}
.form{display:grid;gap:1rem;margin-top:1.2rem}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.form-error{color:#ff6b63;margin:0;min-height:1.2em;font-size:.88rem}

/* footer */
.site-footer{border-top:1px solid var(--line);padding:2rem 0;background:#070707}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.footer-inner p{margin:0;color:var(--silver2);font-size:.88rem}

/* modal */
.modal{border:0;padding:0;background:transparent;color:inherit;max-width:100vw;max-height:100dvh;margin:auto}
.modal::backdrop{background:rgba(0,0,0,.8);backdrop-filter:blur(4px)}
.modal-box{position:relative;width:min(440px,calc(100vw - 24px));background:linear-gradient(180deg,#19191c,#0e0e10);border:1px solid #33333a;border-top:3px solid var(--red);border-radius:var(--radius);padding:1.6rem;max-height:calc(100dvh - 32px);overflow:auto}
.modal-wide .modal-box{width:min(980px,calc(100vw - 24px))}
.modal-close{position:absolute;top:.6rem;right:.8rem;background:none;border:0;color:var(--silver2);font-size:2rem;line-height:1;cursor:pointer;z-index:2}
.modal-close:hover{color:#fff}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;background:#0c0c0d;padding:.3rem;border-radius:10px;margin-right:2rem}
.seg button{background:none;border:0;color:var(--silver2);font:700 1rem var(--display);letter-spacing:.1em;text-transform:uppercase;padding:.55rem;border-radius:8px;cursor:pointer}
.seg button.on{background:var(--red);color:#fff}

/* account */
.acc-head{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 2rem 1rem 0}
.acc-head h2{margin:0;font-size:2rem}
.tabs{display:flex;gap:.4rem;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:1.2rem}
.tabs button{background:none;border:0;border-bottom:3px solid transparent;color:var(--silver2);font:700 1rem var(--display);letter-spacing:.1em;text-transform:uppercase;padding:.6rem .9rem;cursor:pointer}
.tabs button.on{color:#fff;border-bottom-color:var(--red)}
.list{display:grid;gap:.6rem}
.item{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#121214;border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem}
.item b{color:#fff}
.item .sub{font-size:.85rem;color:var(--silver2)}
.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem}
.kpi{background:#121214;border:1px solid var(--line);border-radius:10px;padding:1rem}
.kpi b{display:block;font:800 2rem var(--display);font-style:italic;color:#fff}
.add-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem;align-items:end;margin-top:1rem;padding:1rem;border:1px dashed #3a3a40;border-radius:10px}
table.tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.tbl th{text-align:left;font:700 .8rem var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--silver2);padding:.5rem;border-bottom:1px solid var(--line)}
.tbl td{padding:.55rem .5rem;border-bottom:1px solid #1d1d20;vertical-align:middle}
.tbl select{padding:.35rem .5rem;font-size:.85rem}
.table-wrap{overflow-x:auto}

/* toasts */
.toasts{position:fixed;right:16px;bottom:16px;z-index:200;display:grid;gap:.5rem}
.toast{background:#18181b;border:1px solid #3a3a40;border-left:4px solid var(--red);color:#fff;padding:.8rem 1rem;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.6);animation:in .25s;max-width:340px}
.toast.ok{border-left-color:#35c46a}
@keyframes in{from{opacity:0;transform:translateY(10px)}}

/* responsive */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .hero-logo{order:-1;max-width:340px;margin-inline:auto}
  .contact-grid{grid-template-columns:1fr}
  .burger{display:block}
  .nav{position:fixed;inset:64px 0 auto 0;flex-direction:column;gap:0;background:#0b0b0c;border-bottom:2px solid var(--red);transform:translateY(-120%);transition:.3s;margin:0}
  .nav.open{transform:none}
  .nav a{padding:1rem 24px;border-bottom:1px solid var(--line)}
  .header-actions{margin-left:auto}
  .brand{font-size:1.3rem}
}
@media (max-width:640px){
  .class-row{grid-template-columns:1fr auto;gap:.5rem 1rem}
  .class-time{grid-column:1/-1;display:flex;gap:.6rem;align-items:baseline}
  .class-time small{display:inline}
  .spots{text-align:left}
  #btnJoin{display:none}
  .row2{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

.plan .sub-price{font-size:.85rem;color:var(--silver2);margin-top:-.4rem}
.plan .sub-price b{color:#ff5a50}
.perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:0 0 1.2rem}
.perks div{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:10px;padding:.8rem 1rem}
.perks b{display:block;font:800 1.3rem var(--display);font-style:italic;text-transform:uppercase;color:#fff}
.perks span{font-size:.85rem;color:var(--silver2)}

body{overflow-x:clip}
.hero-logo img{-webkit-mask-image:radial-gradient(closest-side,#000 82%,transparent 100%);mask-image:radial-gradient(closest-side,#000 82%,transparent 100%)}

/* ===== avatar, profil, członkowie, mobilka ===== */
.avatar{--s:44px;width:var(--s);height:var(--s);border-radius:50%;flex:0 0 auto;display:inline-grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 30%,#4a0a07,#161618);border:2px solid var(--red);color:#fff;font:800 calc(var(--s)*.4) var(--display);font-style:italic;text-transform:uppercase;letter-spacing:.02em}
.avatar img{width:100%;height:100%;object-fit:cover}
#btnAccount{display:inline-flex;gap:.5rem;align-items:center;padding:.4rem .9rem}
#btnAccount .avatar{border-width:1.5px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.acc-head{display:flex;gap:1rem;align-items:center;margin:0 2.2rem 1rem 0}
.acc-head>div{flex:1;min-width:0}
.acc-head h2{overflow-wrap:anywhere}
.profile-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.profile-avatar{display:grid;justify-items:center;gap:.8rem;text-align:center}
.profile-avatar:hover,.att-card:hover,.member:hover{transform:none}
.btn-row{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.file-btn{cursor:pointer}
.item-actions,.who{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.att-card{margin-bottom:.8rem;padding:1rem}
.att-head{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin-bottom:.6rem}
.member-tools{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem}
.member-tools input{flex:1;min-width:200px}
.member{padding:1rem;display:grid;gap:.7rem}
.member-top{display:flex;gap:.8rem;align-items:center}
.member-id{min-width:0;overflow-wrap:anywhere}
.member-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.5rem;align-items:center}
.check.inline{grid-template-columns:auto 1fr;align-items:center}
.sub{font-size:.85rem;color:var(--silver2)}
code{background:#0c0c0d;padding:.1rem .35rem;border-radius:4px;color:var(--silver)}

.bottom-bar{display:none}

@media (max-width:900px){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .bottom-bar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(10,10,10,.96);backdrop-filter:blur(12px);border-top:2px solid var(--red);padding-bottom:env(safe-area-inset-bottom)}
  .bottom-bar a,.bottom-bar button{display:grid;justify-items:center;gap:0;padding:.5rem 0 .4rem;background:none;border:0;color:var(--silver2);text-decoration:none;font:700 .72rem var(--display);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;min-height:56px}
  .bottom-bar i{font-style:normal;font-size:1.25rem;line-height:1.3}
  .bottom-bar a:active,.bottom-bar button:active{color:#fff;background:#1a1a1c}
  .toasts{bottom:76px;left:12px;right:12px}
  .toast{max-width:none}
}
@media (max-width:640px){
  .hide-sm{display:none}
  html{scroll-padding-top:68px}
  .site-header{padding:.5rem 12px;gap:.5rem}
  h1{font-size:clamp(2.6rem,13vw,3.6rem)}
  .hero{padding-top:20px}
  .hero-cta .btn{flex:1 1 100%}
  .hero-stats{gap:1.2rem}
  .section{padding:48px 0}
  input,select,textarea{font-size:16px;min-height:46px}
  .btn{min-height:44px}
  .btn-sm{min-height:40px}
  .day-tab{min-width:70px;padding:.5rem .6rem}
  .class-row{grid-template-columns:1fr;gap:.4rem;padding:.9rem}
  .class-time{display:flex;gap:.6rem;align-items:baseline}
  .class-time small{display:inline}
  .class-action{display:grid}
  .class-action .btn{width:100%}
  .spots{text-align:left}
  /* modale jako pełnoekranowe arkusze */
  .modal{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}
  .modal-box,.modal-wide .modal-box{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border-left:0;border-right:0;padding:1rem 14px calc(1rem + env(safe-area-inset-bottom))}
  .modal-close{top:.4rem;right:.5rem;font-size:2.4rem;width:44px;height:44px}
  .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-14px;padding-inline:14px}
  .tabs::-webkit-scrollbar{display:none}
  .tabs button{white-space:nowrap}
  .acc-head{flex-wrap:wrap}
  .acc-head .btn{margin-left:auto}
  .add-form{grid-template-columns:1fr 1fr}
  .member-form{grid-template-columns:1fr 1fr}
  .member-form .btn{grid-column:1/-1}
  .item{align-items:flex-start}
  .footer-inner{flex-direction:column;align-items:flex-start}
  .perks{grid-template-columns:1fr 1fr}
}

.acc-head .muted{overflow-wrap:anywhere;display:block}


/* ===== ikony SVG ===== */
.i{width:1.15em;height:1.15em;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em}
.i-xl{width:44px;height:44px;stroke-width:1.5;color:var(--red2)}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--red);color:#fff;padding:.6rem 1rem;border-radius:6px;text-decoration:none;font-weight:600}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--red2);outline-offset:2px}
.btn .i{transform:skewX(8deg)}
.plan li::before{content:none}
.plan li{display:flex;gap:.5rem;align-items:flex-start}
.plan li .i{color:var(--red2);margin-top:.2rem;width:1em;height:1em;stroke-width:2.6}
.ticker-track .i{color:#000;width:1.1em;height:1.1em;align-self:center}
.lead-sm{max-width:40em;margin:.2rem 0 0}

/* ===== oferta: bento ===== */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin-top:2.4rem}
.tile{--cut:26px;position:relative;overflow:hidden;padding:1.6rem 1.5rem 1.5rem;background:linear-gradient(160deg,#1a1a1d,#0e0e10);border:0;
  clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)));
  display:flex;flex-direction:column;gap:.7rem;isolation:isolate;transition:transform .25s}
.tile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,rgba(225,6,0,.0),rgba(225,6,0,.0));transition:.35s}
.tile::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--red),transparent)}
.tile:hover{transform:translateY(-4px)}
.tile:hover::before{background:linear-gradient(135deg,rgba(225,6,0,.22),rgba(225,6,0,0) 70%)}
.tile h3{font-size:1.7rem}
.tile p{margin:0;color:var(--silver2);font-size:.95rem}
.tile-num{position:absolute;right:1.2rem;bottom:-.9rem;font:800 6.5rem/1 var(--display);font-style:italic;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.12);z-index:-1;pointer-events:none}
.tile-xl{grid-column:span 3;grid-row:span 2;padding:2rem}
.tile-xl h3{font-size:2.4rem}
.tile-xl p{font-size:1.05rem;max-width:26em}
.tile-xl .tile-num{font-size:11rem}
.tile-md{grid-column:span 3}
.tile-sm{grid-column:span 2}
.tile-accent{background:linear-gradient(160deg,var(--red),var(--red-dark))}
.tile-accent p{color:#ffe3e1}
.tile-accent .i-xl{color:#fff}
.tile-accent::after{background:#fff}
.tile-premium{background:linear-gradient(160deg,#2a0503,#0e0e10)}
.chips{list-style:none;padding:0;margin:.3rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem}
.chips li{font:700 .8rem var(--display);letter-spacing:.1em;text-transform:uppercase;border:1px solid #3a3a40;color:var(--silver);padding:.15rem .55rem;border-radius:3px;transform:skewX(-10deg)}

/* ===== jak zacząć ===== */
.steps{list-style:none;margin:2.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;position:relative;counter-reset:s}
.steps::before{content:"";position:absolute;left:28px;right:28px;top:28px;height:2px;background:repeating-linear-gradient(90deg,var(--red) 0 10px,transparent 10px 18px)}
.steps li{position:relative;display:grid;gap:.4rem;justify-items:start}
.steps b{font:800 1.5rem var(--display);font-style:italic;text-transform:uppercase;color:#fff;margin-top:.4rem}
.steps p{margin:0;color:var(--silver2)}
.step-ico{width:58px;height:58px;display:grid;place-items:center;background:var(--bg);border:2px solid var(--red);transform:rotate(45deg);border-radius:8px;position:relative;z-index:1}
.step-ico .i{transform:rotate(-45deg);width:26px;height:26px;color:#fff}

/* ===== perks ===== */
.perks{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.6rem 0 1rem;padding:0}
.perks li{display:flex;gap:.9rem;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem}
.perks .i{width:30px;height:30px;color:var(--red2)}
.perks div{display:grid}
.perks b{font:800 1.2rem var(--display);font-style:italic;text-transform:uppercase;color:#fff;line-height:1.1}
.perks span{font-size:.82rem;color:var(--silver2)}

/* ===== trenerzy ===== */
.trainers{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.trainer{display:flex;align-items:center;gap:1.2rem;padding:1.2rem;text-align:left;border-left:4px solid var(--red)}
.trainer .ph{width:84px;height:84px;aspect-ratio:auto;margin:0;flex:0 0 auto;clip-path:polygon(0 0,100% 0,100% 70%,70% 100%,0 100%);font-size:2.4rem}

/* ===== FAQ ===== */
.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:start}
.faq{display:grid;gap:.6rem}
.faq details{background:var(--panel);border:1px solid var(--line);border-radius:10px}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.1rem;font:700 1.1rem var(--display);letter-spacing:.04em;text-transform:uppercase;color:#fff}
.faq summary::-webkit-details-marker{display:none}
.faq summary .i{transition:.25s;color:var(--red2)}
.faq details[open] summary .i{transform:rotate(180deg)}
.faq details[open]{border-color:var(--red)}
.faq p{margin:0;padding:0 1.1rem 1.1rem;color:var(--silver2)}
.faq a,.faq-wrap a{color:#fff}

/* ===== kontakt ===== */
.contact-list{display:grid;gap:.7rem;margin-top:1.5rem;font-style:normal;padding:0;border:0}
.contact-row{display:flex;gap:1rem;align-items:center;text-decoration:none;color:var(--silver);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem;transition:.2s;min-height:60px}
.contact-row:hover{border-color:var(--red);color:#fff}
.contact-row .i{width:26px;height:26px;color:var(--red2)}
.contact-row span{display:grid;overflow-wrap:anywhere}
.contact-row b{font:700 .8rem var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--silver2)}

/* bottom bar i konto */
.bottom-bar .i{width:24px;height:24px;margin-bottom:.1rem}
#btnAccount .avatar{margin-right:0}

@media (max-width:900px){
  .bento{grid-template-columns:repeat(2,1fr)}
  .tile-xl,.tile-md,.tile-sm{grid-column:span 2}
  .tile-xl{grid-row:auto}
  .tile-sm{grid-column:span 1}
  .tile-accent{grid-column:span 1}
  .steps{grid-template-columns:1fr;gap:1.6rem}
  .steps::before{left:28px;right:auto;top:28px;bottom:28px;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--red) 0 10px,transparent 10px 18px)}
  .steps li{padding-left:84px;min-height:58px}
  .steps .step-ico{position:absolute;left:0;top:0}
  .faq-wrap{grid-template-columns:1fr;gap:1.4rem}
}
@media (max-width:560px){
  .bento{grid-template-columns:1fr}
  .tile-sm,.tile-accent{grid-column:span 1}
  .tile-xl h3{font-size:2rem}
  .tile-xl .tile-num{font-size:8rem}
}

html{overflow-x:clip}


/* ================= v3: hero z fotografią, oferta, klub, cennik ================= */
:root{--chamfer:polygon(0 0,calc(100% - 34px) 0,100% 34px,100% 100%,34px 100%,0 calc(100% - 34px))}

.hero-grid{grid-template-columns:1.05fr .95fr}
.hero-visual{position:relative;padding:0 18px 36px 0}
.hero-photo{position:relative;margin:0}
.hero-photo::before{content:"";position:absolute;inset:0;transform:translate(18px,18px);background:linear-gradient(135deg,var(--red),var(--red-dark));clip-path:var(--chamfer)}
.hero-photo img{position:relative;display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;clip-path:var(--chamfer);filter:brightness(.82) contrast(1.08) saturate(.9)}
.hero-photo::after{content:"";position:absolute;inset:0;clip-path:var(--chamfer);background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.75)),linear-gradient(120deg,rgba(225,6,0,.22),transparent 55%);pointer-events:none}
.hero-photo figcaption{position:absolute;z-index:2;left:1.4rem;bottom:1.1rem;display:flex;gap:.5rem;align-items:center;font:700 1rem var(--display);letter-spacing:.2em;text-transform:uppercase;color:#fff}
.hero-photo figcaption .i{color:var(--red2)}
.hero-emblem{position:absolute;z-index:3;left:-28px;bottom:0;width:132px;height:132px;border-radius:50%;object-fit:cover;border:3px solid var(--red);box-shadow:0 0 0 6px var(--bg),0 18px 50px -10px rgba(225,6,0,.65)}

/* ----- oferta: spis kierunków + panel ----- */
.offer{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:1.5rem;margin-top:2.4rem;align-items:start}
.offer-nav{display:grid;gap:.5rem;position:sticky;top:84px}
.offer-nav button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:0 .9rem;text-align:left;background:var(--panel);border:1px solid var(--line);border-left:4px solid #2c2c31;color:var(--silver);padding:.8rem 1rem;border-radius:8px;cursor:pointer;font:inherit;transition:.2s}
.offer-nav button:hover{border-color:#3a3a40;border-left-color:var(--silver2)}
.on-num{grid-row:span 2;font:800 1.9rem var(--display);font-style:italic;color:#3d3d44;line-height:1;transition:.2s}
.on-name{font:800 1.4rem var(--display);font-style:italic;text-transform:uppercase;color:#fff;line-height:1.1}
.on-count{font-size:.8rem;color:var(--silver2);grid-column:2}
.offer-nav .i{grid-row:span 2;color:#3d3d44;transition:.2s}
.offer-nav button[aria-selected="true"]{background:linear-gradient(90deg,rgba(225,6,0,.18),var(--panel));border-left-color:var(--red);border-color:#3a1210}
.offer-nav button[aria-selected="true"] .on-num{color:var(--red2)}
.offer-nav button[aria-selected="true"] .i{color:var(--red2);transform:translateX(3px)}
.offer-panels{display:grid;gap:1rem}
.offer-panel{background:linear-gradient(160deg,#18181b,#0f0f11);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;display:grid;gap:1.2rem;animation:fadeUp .35s}
html.js .offer-panel[data-js-hide]{display:none}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}}
.offer-panel header{display:flex;gap:1rem;align-items:flex-start}
.offer-ico{width:60px;height:60px;flex:0 0 auto;display:grid;place-items:center;background:linear-gradient(135deg,var(--red),var(--red-dark));clip-path:polygon(0 0,100% 0,100% 70%,70% 100%,0 100%)}
.offer-ico .i{width:30px;height:30px;color:#fff}
.offer-panel h3{font-size:2.2rem}
.offer-panel header p{margin:.4rem 0 0;color:var(--silver2);max-width:40em}
.class-table{list-style:none;margin:0;padding:0;display:grid}
.class-table li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;border-top:1px solid var(--line);flex-wrap:wrap}
.ct-name{display:grid}
.ct-name b{font:800 1.25rem var(--display);font-style:italic;text-transform:uppercase;color:#fff;letter-spacing:.03em}
.ct-name span{font-size:.82rem;color:var(--silver2)}
.days{display:flex;gap:.25rem}
.dpill{font:700 .78rem var(--display);font-style:normal;letter-spacing:.04em;width:32px;height:30px;display:grid;place-items:center;border-radius:4px;background:#17171a;color:#4a4a52;transform:skewX(-10deg)}
.dpill.on{background:var(--red);color:#fff}
.offer-panel .btn{justify-self:start}

/* ----- klub ----- */
.klub{background:radial-gradient(900px 500px at 90% 20%,rgba(225,6,0,.12),transparent 70%),var(--bg)}
.klub-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3.5rem;align-items:center}
.facts{list-style:none;padding:0;margin:1.6rem 0;display:grid;gap:1rem}
.facts li{display:flex;gap:1rem;align-items:flex-start}
.facts .i{width:28px;height:28px;color:var(--red2);margin-top:.15rem}
.facts span{display:grid;color:var(--silver2);font-size:.92rem}
.facts b{color:#fff;font:700 1.15rem var(--display);letter-spacing:.06em;text-transform:uppercase}
.collage{position:relative;padding-bottom:18%}
.collage figure{margin:0;position:relative}
.collage img{display:block;width:100%;height:auto;object-fit:cover}
.collage-a img{aspect-ratio:4/3;clip-path:var(--chamfer);filter:contrast(1.05) saturate(.92)}
.collage .collage-b{position:absolute;right:-14px;bottom:0;width:52%;padding:5px;background:var(--red);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}
.collage-b img{aspect-ratio:4/3;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));filter:brightness(.9)}
.collage figcaption{position:absolute;left:1rem;bottom:.8rem;font:700 .85rem var(--display);letter-spacing:.2em;text-transform:uppercase;color:#fff;text-shadow:0 1px 8px #000}
.collage-b figcaption{left:1.2rem;bottom:1.1rem}

/* ----- cennik ----- */
.pricing{margin-top:2rem;display:grid;gap:1.4rem}
.price-head{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}
.price-toggle{display:inline-grid;grid-template-columns:1fr 1fr;background:#0c0c0d;border:1px solid #2c2c31;border-radius:10px;padding:4px;gap:4px}
.price-toggle button{background:none;border:0;color:var(--silver2);font:800 1.05rem var(--display);letter-spacing:.12em;text-transform:uppercase;padding:.6rem 1.4rem;border-radius:7px;cursor:pointer;transition:.2s;min-height:44px}
.price-toggle button small{font:700 .8rem var(--display);color:var(--red2);letter-spacing:.04em}
.price-toggle button.on{background:var(--red);color:#fff}
.price-toggle button.on small{color:#ffd9d6}
.price-hint{margin:0;color:var(--silver2);font-size:.88rem;max-width:34em;flex:1;min-width:240px}
.price-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem;counter-reset:p}
.price-row{display:grid;grid-template-columns:76px 1fr auto auto;gap:1.2rem;align-items:center;padding:1rem 1.2rem 1rem 1rem;background:linear-gradient(90deg,#17171a,#111113);border:1px solid var(--line);border-radius:12px;position:relative;overflow:hidden;transition:border-color .2s,transform .2s}
.price-row:hover{border-color:#44444b;transform:translateX(4px)}
.price-row.hot{border-color:var(--red);background:linear-gradient(90deg,rgba(225,6,0,.16),#111113 60%);box-shadow:0 18px 50px -28px rgba(225,6,0,.8)}
.price-badge{height:60px;display:grid;place-items:center;background:linear-gradient(135deg,var(--red),var(--red-dark));clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%);font:800 1.9rem var(--display);font-style:italic;color:#fff}
.price-badge .i{width:28px;height:28px;stroke-width:2}
.price-main h3{font-size:1.5rem;margin-bottom:.2rem}
.price-main p{margin:0 0 .4rem;color:var(--silver2);font-size:.88rem}
.price-main .tag{margin-right:.35rem}
.price-val{display:flex;align-items:baseline;gap:.25rem;flex-wrap:wrap;justify-content:flex-end;min-width:140px}
.price-val b{font:800 3rem/1 var(--display);font-style:italic;color:#fff;transition:color .25s}
.price-val small{font:700 1.1rem var(--display);color:var(--silver2)}
.price-note{flex-basis:100%;text-align:right;font-size:.78rem;color:var(--silver2)}
.pricing.is-premium .price-row:not([data-plan="single"]) .price-val b{color:#ff4b41}
.pricing.is-premium .price-row:not([data-plan="single"]) .price-note::before{content:"Premium · ";color:#ff4b41;font-weight:600}

.cta{background:linear-gradient(100deg,rgba(26,3,2,.93),rgba(143,4,0,.9) 55%,rgba(225,6,0,.86)),url(hero.jpg) center/cover}

@media (max-width:1000px){
  .hero-grid{grid-template-columns:1fr}
  .hero-visual{max-width:560px;width:100%;margin-inline:auto;padding-right:16px}
  .offer{grid-template-columns:1fr}
  .offer-nav{position:static;display:flex;overflow-x:auto;gap:.5rem;padding-bottom:.4rem;scrollbar-width:none;margin-inline:-16px;padding-inline:16px;scroll-snap-type:x proximity}
  .offer-nav::-webkit-scrollbar{display:none}
  .offer-nav button{flex:0 0 auto;grid-template-columns:auto auto;min-width:0;scroll-snap-align:start}
  .offer-nav .i,.on-count{display:none}
  .on-num{grid-row:auto;font-size:1.3rem}
  .klub-grid{grid-template-columns:1fr;gap:2rem}
}
@media (max-width:640px){
  .hero-emblem{width:92px;height:92px;left:-6px}
  .price-row{grid-template-columns:56px 1fr;gap:.6rem 1rem;padding:.9rem}
  .price-badge{height:48px;font-size:1.5rem}
  .price-val,.price-row .btn{grid-column:1/-1}
  .price-val{justify-content:flex-start;align-items:baseline;min-width:0}
  .price-note{flex-basis:auto;text-align:left;margin-left:.3rem}
  .price-row .btn{width:100%}
  .offer-panel{padding:1.1rem}
  .offer-panel h3{font-size:1.8rem}
  .class-table li{align-items:flex-start;flex-direction:column;gap:.5rem}
  .dpill{width:30px}
  .price-head{align-items:stretch}
  .price-toggle{width:100%}
  .collage-b{right:-6px;width:56%}
}

/* ================= grafik: tablica tygodnia ================= */
.sched-tools{display:flex;gap:1rem;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:1.6rem 0 1.2rem}
.filters{display:flex;gap:.4rem;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:.45rem;background:var(--panel);border:1px solid var(--line);color:var(--silver);border-radius:999px;padding:.45rem .9rem;font:700 .9rem var(--display);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;min-height:40px;transition:.2s}
.chip:hover{border-color:var(--silver2)}
.chip .i{width:1.1em;height:1.1em;color:var(--red2)}
.chip.on{background:var(--red);border-color:var(--red);color:#fff}
.chip.on .i{color:#fff}
.week-pager{display:inline-grid;grid-auto-flow:column;gap:4px;background:#0c0c0d;border:1px solid #2c2c31;border-radius:10px;padding:4px}
.week-pager button{background:none;border:0;color:var(--silver2);padding:.4rem 1rem;border-radius:7px;cursor:pointer;display:grid;text-align:left;font:700 .95rem var(--display);letter-spacing:.08em;text-transform:uppercase;min-height:44px}
.week-pager small{font:500 .72rem var(--body);letter-spacing:0;text-transform:none;opacity:.8}
.week-pager button.on{background:#222226;color:#fff}

.board{display:grid;gap:1rem}
#weekPager{display:none}

/* pasek dni */
.dstrip{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;padding:2px}
.dstrip::-webkit-scrollbar{display:none}
.dp{flex:1 0 62px;display:grid;justify-items:center;gap:0;background:transparent;border:1px solid var(--line);border-radius:10px;padding:.45rem .3rem;color:var(--silver);cursor:pointer;font:inherit;transition:.2s;position:relative}
.dp small{font:700 .78rem var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--silver2)}
.dp b{font:800 1.6rem/1 var(--display);font-style:italic;color:#fff}
.dp i{font:700 .72rem var(--body);font-style:normal;color:var(--silver2)}
.dp:hover{border-color:var(--silver2)}
.dp.today small{color:var(--red2)}
.dp.off{opacity:.45}
.dp.sel{background:linear-gradient(180deg,var(--red2),var(--red-dark));border-color:var(--red)}
.dp.sel small,.dp.sel i{color:#ffe3e1}

.tl-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}
.tl-head h3{font-size:1.8rem}
.tl-head h3 span{color:var(--red2)}
.tl-head p{margin:0}

/* oś czasu */
.tl{--pph:116px;--lane:62px;background:linear-gradient(180deg,#141416,#0d0d0f);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.tl-scroll{overflow-x:auto;overflow-y:hidden;padding:0 14px 14px;scrollbar-color:#3a3a40 transparent}
.tl-canvas{position:relative;width:max(100%,calc(var(--total) * var(--pph) + 2px));min-width:max-content}
.tl-ruler{position:relative;height:34px;border-bottom:1px solid #26262a;width:calc(var(--total) * var(--pph))}
.tl-tick{position:absolute;left:calc(var(--x) * var(--pph));bottom:6px;transform:translateX(-50%);font:700 .78rem var(--display);letter-spacing:.1em;color:var(--silver2)}
.tl-tick:first-child{transform:none}
.tl-tick::after{content:"";position:absolute;left:50%;top:calc(100% + 2px);width:1px;height:8px;background:#3a3a40}
.tl-grid{position:relative;height:calc(var(--lanes) * var(--lane) + 12px);width:calc(var(--total) * var(--pph));
  background:repeating-linear-gradient(90deg,transparent 0,transparent calc(var(--pph) - 1px),#1f1f23 calc(var(--pph) - 1px),#1f1f23 var(--pph))}
.tl-break{position:absolute;left:calc(var(--x) * var(--pph));width:calc(var(--w) * var(--pph));top:0;bottom:0;display:grid;place-items:end center;pointer-events:none}
.tl-break i{font:800 1rem var(--display);color:var(--red2);font-style:normal;margin-bottom:6px;letter-spacing:.1em}
.tl-now{position:absolute;top:-34px;bottom:0;left:calc(var(--x) * var(--pph));width:2px;background:var(--red2);z-index:3;pointer-events:none}
.tl-now i{position:absolute;top:0;left:50%;transform:translateX(-50%);background:var(--red2);color:#fff;font:700 .62rem var(--display);letter-spacing:.12em;text-transform:uppercase;font-style:normal;padding:.05rem .35rem;border-radius:3px}

.tb{position:absolute;left:calc(var(--x) * var(--pph) + 2px);width:calc(var(--w) * var(--pph) - 5px);top:calc(var(--l) * var(--lane) + 8px);height:calc(var(--lane) - 6px);
  display:grid;grid-template-rows:auto 1fr auto;gap:1px;text-align:left;padding:.3rem .5rem .35rem;border-radius:8px;border:0;cursor:pointer;color:#fff;overflow:hidden;font:inherit;
  background:linear-gradient(180deg,var(--red2),var(--red-dark));box-shadow:0 8px 20px -14px #000;transition:transform .15s,filter .15s}
.tb:hover{transform:translateY(-2px);filter:brightness(1.12)}
.tb-top{display:flex;justify-content:space-between;align-items:center;gap:.3rem}
.tb-top b{font:800 1.05rem var(--display);font-style:italic;letter-spacing:.03em;line-height:1}
.tb-top .i{width:15px;height:15px;opacity:.85}
.tb-name{font:700 .74rem/1.1 var(--display);letter-spacing:.07em;text-transform:uppercase;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;align-self:center}
.tb-meter{height:3px;background:rgba(0,0,0,.4);border-radius:2px;overflow:hidden}
.tb-meter i{display:block;height:100%;background:#fff;opacity:.9}
/* kierunki — w palecie czerwień / srebro / czerń */
.tb.cat-kond{background:repeating-linear-gradient(135deg,#b00500 0 9px,#8f0400 9px 18px)}
.tb.cat-syl{background:linear-gradient(180deg,#e7e9ee,#a4a9b2);color:#101012}
.tb.cat-syl .tb-meter{background:rgba(0,0,0,.2)}
.tb.cat-syl .tb-meter i{background:#101012}
.tb.cat-ty{background:#1a1a1d;box-shadow:inset 0 0 0 2px var(--red)}
.tb.cat-open{background:transparent;box-shadow:inset 0 0 0 2px #6a6f78;border:0;background-image:repeating-linear-gradient(135deg,transparent 0 10px,rgba(255,255,255,.04) 10px 20px)}
.tb.cat-other{background:#2a2a2f}
.tb.low .tb-meter i{background:#ffb020}
.tb.full{filter:grayscale(1) brightness(.6)}
.tb.mine{box-shadow:inset 0 0 0 3px #35c46a,0 0 24px -6px rgba(53,196,106,.7)}
.tb.past{opacity:.35}
.tb.sel{outline:3px solid #fff;outline-offset:2px;z-index:2}

/* panel wyboru */
.pick{background:linear-gradient(160deg,#1a1a1d,#101012);border:1px solid #33333a;border-left:4px solid var(--red);border-radius:10px;padding:.8rem 1rem;display:grid;grid-template-columns:1fr minmax(160px,240px) auto;gap:1rem;align-items:center;min-height:68px}
.pick-hint{margin:0;color:var(--silver2);grid-column:1/-1}
.pick-info{display:flex;gap:.8rem;align-items:center;min-width:0}
.pick-ico{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;background:linear-gradient(135deg,var(--red),var(--red-dark));clip-path:polygon(0 0,100% 0,100% 70%,70% 100%,0 100%)}
.pick-ico .i{width:24px;height:24px;color:#fff}
.pick h4{margin:0;font:800 1.4rem/1.1 var(--display);font-style:italic;text-transform:uppercase;color:#fff}
.pick p{margin:0;font-size:.85rem;color:var(--silver2)}
.pick-meter{display:grid;gap:.3rem}
.slot-meter{height:5px;background:#26262a;border-radius:3px;overflow:hidden}
.slot-meter i{display:block;height:100%;background:linear-gradient(90deg,#8a9099,var(--silver))}
.slot-meter.low i{background:#ffb020}
.slot-meter.full i{background:var(--red2)}
.slot-spots{font-size:.82rem;color:var(--silver)}
.slot-spots.low{color:#ffb020}
.slot-spots.full{color:#ff6b63}
.slot-done{color:var(--silver2);font-size:.9rem}

@media (max-width:900px){
  .sched-tools{margin:1rem 0 .7rem}
  .filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px;width:calc(100% + 32px)}
  .filters::-webkit-scrollbar{display:none}
  .chip{flex:0 0 auto;min-height:36px;padding:.3rem .75rem;font-size:.82rem}
  .tl{--pph:96px;--lane:60px}
  .tl-scroll{padding:0 10px 12px}
  .tl-head p{display:none}
  .pick{grid-template-columns:1fr auto;padding:.6rem .8rem;gap:.4rem .8rem;position:sticky;bottom:calc(66px + env(safe-area-inset-bottom));z-index:40;box-shadow:0 -14px 40px rgba(0,0,0,.7)}
  .pick-ico{display:none}
  .pick-info{grid-column:1/-1}
  .pick h4{font-size:1.2rem}
  .pick-action .btn{width:auto;min-height:40px}
  .pick-hint{font-size:.85rem}
}

/* zamrożenie karnetu */
.fz{margin:1rem 0 1.4rem;padding:1.1rem;border-left:4px solid #6a9bd8}
.fz:hover{transform:none}
.fz-head{display:flex;gap:.9rem;align-items:flex-start}
.fz-head h3{font-size:1.5rem;margin-bottom:.2rem}
.fz-head p{margin:0}
.fz-ico{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;background:#1c2634;border:1px solid #3a5278;border-radius:10px;color:#9cc4ff}
.fz-meter{height:5px;background:#26262a;border-radius:3px;overflow:hidden;margin-top:.8rem}
.fz-meter i{display:block;height:100%;background:linear-gradient(90deg,#6a9bd8,#b9d4ff)}
.fz-form{display:grid;grid-template-columns:1fr 1fr auto;gap:.7rem;align-items:end;margin-top:.9rem}
@media (max-width:640px){.fz-form{grid-template-columns:1fr 1fr}.fz-form .btn{grid-column:1/-1}}

/* ticker: płynna, bezszwowa pętla */
.ticker{overflow:hidden;background:var(--red);transform:skewY(-1deg);margin:0 -4%;padding:.55rem 0;border-block:2px solid #000;position:relative}
.ticker-track{display:flex;width:max-content;animation:tick 45s linear infinite;will-change:transform}
.ticker-group{display:flex;flex:none;align-items:center;gap:2rem;padding-right:2rem;min-width:100vw;justify-content:space-around;
  font:800 1.4rem var(--display);font-style:italic;text-transform:uppercase;letter-spacing:.1em;color:#fff;white-space:nowrap}
.ticker-group .i{color:#000;width:1.1em;height:1.1em}
@keyframes tick{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (max-width:640px){.ticker-track{animation-duration:30s}.ticker-group{font-size:1.15rem;gap:1.4rem;padding-right:1.4rem}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}

/* ===== cookies i strony prawne ===== */
.cc{position:fixed;left:0;right:0;bottom:0;z-index:300;padding:12px;display:flex;justify-content:center;pointer-events:none}
.cc-box{pointer-events:auto;width:min(760px,100%);background:#141416;border:1px solid #3a3a40;border-top:3px solid var(--red);border-radius:14px;padding:1.1rem 1.2rem;box-shadow:0 -20px 60px rgba(0,0,0,.7)}
.cc h2{font-size:1.5rem;margin-bottom:.4rem}
.cc p{margin:0 0 .9rem;font-size:.9rem;color:var(--silver)}
.cc a{color:#fff}
.cc-settings{display:grid;gap:.5rem;margin:0 0 1rem}
.cc-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#0c0c0d;border:1px solid var(--line);border-radius:10px;padding:.7rem .9rem;color:var(--silver)}
.cc-row small{display:block;color:var(--silver2);font-size:.78rem;font-weight:400}
.cc-row b{color:#fff;font-weight:600}
.cc-row input{width:22px;height:22px;accent-color:var(--red);flex:0 0 auto;min-height:0}
.cc-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.cc-btn{font:700 .95rem var(--display);letter-spacing:.1em;text-transform:uppercase;border-radius:8px;padding:.7rem 1.1rem;min-height:46px;cursor:pointer;border:1.5px solid transparent;flex:0 0 auto}
.cc-primary{background:var(--red);color:#fff}
.cc-secondary{background:#fff;color:#0a0a0a}
.cc-ghost{background:transparent;color:var(--silver);border-color:#55555c}
.cc-btn:hover{filter:brightness(1.1)}
@media (max-width:640px){
  .cc{padding:0}
  .cc-box{border-radius:14px 14px 0 0;padding:1rem 14px calc(1rem + env(safe-area-inset-bottom))}
  .cc-actions{display:grid;grid-template-columns:1fr 1fr}
  .cc-actions .cc-ghost{grid-column:1/-1}
}

.footer-legal{margin:0;font-size:.85rem;width:100%}
.footer-legal a,.footer-inner a{color:var(--silver)}
.footer-legal a:hover,.footer-inner a:hover{color:#fff}
.footer-inner{flex-wrap:wrap}

.legal-nav{display:flex;gap:1.2rem;margin-left:auto}
.legal-nav a{text-decoration:none;font:700 .95rem var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--silver2)}
.legal-nav a:hover,.legal-nav a[aria-current]{color:#fff}
.legal{padding:48px 0 80px}
.legal-wrap{max-width:860px}
.legal h1{font-size:clamp(2.2rem,5vw,3.4rem);margin-bottom:.3rem}
.legal-text{margin-top:1.8rem;color:var(--silver);line-height:1.75}
.legal-text h2{font-size:1.5rem;margin:2.2rem 0 .6rem;padding-left:.8rem;border-left:4px solid var(--red)}
.legal-text p,.legal-text li{font-size:1rem}
.legal-text ul,.legal-text ol{padding-left:1.3rem;display:grid;gap:.4rem}
.legal-text a{color:#fff;text-decoration-color:var(--red);text-underline-offset:3px}
.legal-text strong{color:#fff}
.legal-table{width:100%;border-collapse:collapse;font-size:.9rem;margin:.6rem 0 1rem}
.legal-table th{text-align:left;font:700 .8rem var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--silver2);padding:.6rem;border-bottom:2px solid var(--red)}
.legal-table td{padding:.65rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
.legal-body .site-header{position:sticky}
@media (max-width:760px){.legal-nav{display:none}.legal-body .site-header .btn{margin-left:auto}}
