@font-face{font-family:"Barlow";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/barlow-latin-ext-400-normal.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:"Barlow";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/barlow-latin-400-normal.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:"Barlow";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/barlow-latin-ext-500-normal.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:"Barlow";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/barlow-latin-500-normal.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:"Barlow";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-latin-ext-600-normal.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:"Barlow";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-latin-600-normal.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:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-condensed-latin-ext-600-normal.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:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-condensed-latin-600-normal.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:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-latin-ext-700-normal.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:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-latin-700-normal.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{
  --brand:#1E7D47; --brand-d:#14583A; --brand-xd:#0F3F2A; --sun:#FFC93C; --sun-d:#F5B400; --warm:#FFF6DC; --mint:#E6F3EA;
  --bg:#FFFFFF; --band:#EEF2EF; --ink:#17201B; --muted:#56615B; --line:#D5DCD7;
  --blue:#1F4FA3; --blue-d:#173D80;
  --go:#1E7D47; --go-bg:#DCEFE2;
  --ex:#1E6B7D; --ex-bg:#D9ECF0;
  --pay:#8A5A00; --pay-bg:#FBE9BF;
  --lim:#8A4B00; --lim-bg:#FCE3CC;
  --stop:#A92C26; --stop-bg:#F6D9D5;
  --unk:#56615B; --unk-bg:#E7EAE8;
  --cond:"Barlow Condensed",Barlow,system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font:400 17px/1.55 Barlow,system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--blue)}
a:hover{color:var(--blue-d)}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:4px}
img{max-width:100%}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.narrow{max-width:760px}
.skip{position:absolute;left:-999px}
.skip:focus{left:16px;top:8px;background:#fff;padding:8px 12px;z-index:10}

/* header */
.site-head{border-bottom:1px solid var(--line);background:#fff}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none}
.logo .mark{width:26px;height:33px;flex:none}
.logo .word{font:600 28px/1 var(--cond);letter-spacing:-.2px;white-space:nowrap}
.logo .w2{font-weight:700;color:var(--go)}
.logo .tld{font-weight:600;font-size:.7em;color:var(--muted);margin-left:1px}
.site-nav{display:flex;gap:22px;font-weight:500;font-size:16px;flex-wrap:wrap}
.site-nav a{color:var(--ink);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.site-nav a:hover,.site-nav a[aria-current]{border-bottom-color:var(--ink)}

/* type */
h1{font:700 56px/1.03 var(--cond);letter-spacing:-.4px;margin-bottom:14px}
h2{font:700 36px/1.1 var(--cond);margin:0 0 8px}
h3{font:700 24px/1.2 var(--cond);margin:28px 0 8px}
.lead{font-size:19px;color:var(--muted);margin-bottom:24px}
.prose p,.prose ul,.prose ol,.prose table{margin-bottom:16px}
.prose ul,.prose ol{padding-left:22px}
.prose li{margin-bottom:6px}
.prose h2{margin-top:40px}
.muted{color:var(--muted)}
.small{font-size:14px}

/* layout blocks */
.section{padding-top:48px;padding-bottom:48px}
.band{background:var(--band)}
.page-head{padding-top:40px;padding-bottom:8px}
.crumbs{font-size:14px;color:var(--muted);margin-bottom:14px}
.crumbs a{color:var(--muted)}
.updated{font-size:14px;color:var(--muted);margin-top:-6px;margin-bottom:20px}

/* tool */
.tool{display:grid;grid-template-columns:400px minmax(0,1fr);gap:48px;align-items:start;padding-top:44px;padding-bottom:56px}
.form .field{margin-bottom:16px;border:0}
.form label,.form legend{display:block;font-weight:600;font-size:15px;margin-bottom:6px}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{margin:0;text-align:center;padding:9px 4px;font-weight:500;font-size:15px;border:1.5px solid var(--line);border-radius:9px;cursor:pointer}
.seg input:checked+label{background:var(--ink);border-color:var(--ink);color:#fff}
.seg input:focus-visible+label{outline:3px solid var(--blue);outline-offset:2px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
select,input[type=email],input[type=number]{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:9px;padding:10px 12px}
select:focus,input:focus{border-color:var(--ink)}
.hint{font-size:14px;color:var(--muted);margin-top:5px}
.checks{margin:6px 0 18px}
.form .check,.check{display:flex;gap:10px;align-items:flex-start;font-size:15px;margin-bottom:8px;font-weight:400 !important}
.check input{width:18px;height:18px;margin-top:3px;flex:none;accent-color:var(--ink)}
.btn{display:inline-block;background:var(--sun);color:var(--ink);border:0;border-radius:10px;padding:14px 22px;font:600 17px Barlow,sans-serif;text-decoration:none;cursor:pointer;text-align:center}
.btn:hover{background:var(--sun-d);color:var(--ink)}
.btn.block{display:block;width:100%}
.btn.ghost{background:none;color:var(--ink);border:1.5px solid var(--ink)}
.note{font-size:14px;color:var(--muted);margin-top:10px}

.result{background:#fff;border-radius:18px;padding:24px 26px;box-shadow:0 18px 40px -18px rgba(15,63,42,.45)}
.result h2{font-size:30px;margin-bottom:4px}
.result .car{color:var(--muted);margin-bottom:18px}
.grid{display:grid;grid-template-columns:120px repeat(6,minmax(0,1fr));gap:5px}
.c .s{display:none;font-style:normal}
.grid .h{font:600 16px var(--cond);color:var(--muted);padding:0 0 2px 2px}
.grid .h:nth-child(2){color:var(--ink)}
.grid .city{font:600 20px var(--cond);display:flex;align-items:center}
.grid .city a{color:var(--ink);text-decoration:none}
.c{border-radius:8px;padding:8px 8px 7px;min-height:58px;font-size:13px;line-height:1.25}
.c b{display:block;font:600 16px var(--cond);margin-bottom:2px}
.go{background:var(--go-bg);color:var(--go)}
.exempt{background:var(--ex-bg);color:var(--ex)}
.pay{background:var(--pay-bg);color:var(--pay)}
.limited{background:var(--lim-bg);color:var(--lim)}
.stop{background:var(--stop-bg);color:var(--stop)}
.unknown,.inactive{background:repeating-linear-gradient(135deg,var(--unk-bg) 0 8px,#F2F4F3 8px 16px);color:var(--unk)}
.legend{display:flex;gap:6px 16px;font-size:13.5px;color:var(--muted);margin:12px 0 18px;flex-wrap:wrap}
.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.summary{background:var(--band);border-radius:10px;padding:14px 16px;margin-bottom:18px}
.summary p{margin-bottom:6px}
.summary p:last-child{margin-bottom:0}
.todo{border-left:4px solid var(--ex);padding:4px 0 4px 14px;margin-bottom:18px}
.todo h3{margin:0 0 4px;font-size:20px}
.todo li{margin-bottom:6px}
.todo ul{padding-left:18px}
.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.act{display:block;border:1.5px solid var(--line);border-radius:10px;padding:13px 15px;font-size:15px;color:var(--ink);text-decoration:none;position:relative}
.act:hover{border-color:var(--ink);color:var(--ink)}
.act strong{display:block;font-weight:600;font-size:16px;line-height:1.3;margin-bottom:4px}
.act span{color:var(--muted)}
.act .tag{position:absolute;top:-10px;right:10px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:0 6px;font-size:12px;color:var(--muted)}
.act.primary{border-color:var(--blue)}
.act.primary strong{color:var(--blue)}
.src{font-size:13px;color:var(--muted);margin-top:16px}
.src a{color:var(--muted)}
.empty{color:var(--muted);text-align:left;padding:40px 8px}
.empty strong{display:block;font:700 28px/1.1 var(--cond);color:var(--ink);margin-bottom:8px}

/* timeline */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);position:relative;margin-top:24px}
.timeline::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:var(--ink)}
.ev{padding-right:24px;position:relative}
.ev .dot{width:20px;height:20px;border-radius:50%;background:var(--band);border:3px solid var(--ink);margin-bottom:14px}
.ev.next .dot{background:var(--sun);border-color:var(--ink)}
.ev .date{font:700 23px/1 var(--cond);margin-bottom:6px}
.ev .what{font-weight:600;margin-bottom:3px}
.ev .what a{color:var(--ink)}
.ev p{font-size:15px;color:var(--muted)}

/* alert form */
.alert{margin-top:36px;display:flex;align-items:center;gap:18px;background:#fff;border-radius:12px;padding:20px 22px;flex-wrap:wrap}
.alert .txt{flex:1 1 300px}
.alert strong{font-size:18px;font-weight:600;display:block}
.alert p{color:var(--muted);font-size:15px}
.alert form{display:flex;gap:10px;flex:1 1 380px}
.alert input{flex:1}
.form-msg{font-size:14px;color:var(--muted);width:100%}

/* tables */
table{width:100%;border-collapse:collapse;font-size:16px}
th{text-align:left;font-weight:600;font-size:15px;color:var(--muted);padding:0 14px 10px 0;border-bottom:1.5px solid var(--ink);vertical-align:bottom}
td{padding:12px 14px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
td.cityname{font:700 21px var(--cond);white-space:nowrap}
td a{font-weight:600;text-decoration:none}
.table-scroll{overflow-x:auto}
.pill{display:inline-block;border-radius:6px;padding:1px 7px;font-size:14px;font-weight:600}

/* news */
.news{list-style:none}
.news li{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.news time{font:600 18px var(--cond);color:var(--muted)}

/* two-col article */
.article{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start;padding-top:8px;padding-bottom:56px}
.aside{position:sticky;top:20px;background:var(--mint);border-radius:14px;padding:20px}
.aside h3{margin-top:0}
.aside .btn{margin-top:10px}
.facts{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin-bottom:24px;font-size:16px}
.facts dt{font-weight:600}
.facts dd{color:var(--ink)}
.faq details{border-bottom:1px solid var(--line);padding:12px 0}
.faq summary{font-weight:600;cursor:pointer}
.faq details p{margin-top:8px}

/* calculator */
.calc{display:grid;grid-template-columns:360px minmax(0,1fr);gap:40px;align-items:start}
.calc-out{border:1.5px solid var(--ink);border-radius:14px;padding:22px}
.big{font:700 44px/1 var(--cond);margin:4px 0 6px}
.bars{margin-top:16px}
.bar{display:grid;grid-template-columns:60px 1fr 110px;gap:10px;align-items:center;margin-bottom:8px;font-size:15px}
.bar .track{background:var(--band);border-radius:6px;height:22px;overflow:hidden}
.bar .fill{background:var(--pay);height:100%}
.bar .v{text-align:right;font-weight:600}

/* oferty partnerów */
.offers{margin-top:28px;background:var(--warm);border-radius:20px;padding:24px 24px 18px}
.offers-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}
.offers-head h3,.prose .offers h3{margin:0;font:700 28px/1.1 var(--cond);color:var(--ink)}
.offers-sub{margin:4px 0 0;color:#4A4232;font-size:16px}
.ad{flex:none;font-size:12px;font-weight:600;color:#6B5E3E;background:#F6E6B4;border-radius:6px;padding:2px 8px}
.offer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px}
.offer{display:flex;flex-direction:column;gap:8px;background:#fff;border-radius:16px;padding:18px 18px 16px;color:var(--ink);text-decoration:none;box-shadow:0 10px 26px -16px rgba(80,60,10,.45);transition:transform .15s ease,box-shadow .15s ease}
.offer:hover{color:var(--ink);transform:translateY(-2px);box-shadow:0 16px 30px -16px rgba(80,60,10,.55)}
.o-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.o-ico{width:46px;height:46px;padding:10px;border-radius:12px;background:var(--mint);fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.o-name{font:700 15px var(--cond);letter-spacing:.3px;color:var(--brand-d);background:var(--mint);border-radius:999px;padding:3px 10px}
.offer strong{font:700 22px/1.15 var(--cond);margin-top:4px}
.o-text{color:#3C4842;font-size:16px;line-height:1.45;flex:1}
.o-cta{margin-top:6px;display:block;text-align:center;background:var(--brand);color:#fff;font-weight:600;font-size:16px;border-radius:10px;padding:11px 12px}
.offer:hover .o-cta{background:var(--brand-d)}
.offers-note{margin:14px 0 0;font-size:13px;color:#6B5E3E}
@media (prefers-reduced-motion:reduce){.offer,.offer:hover{transition:none;transform:none}}
@media (max-width:700px){.offers{padding:18px 14px 14px;border-radius:16px}.offers-head h3,.prose .offers h3{font-size:24px}}

/* hero w kolorach marki */
.hero-band{background:var(--brand);background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 34px,transparent 34px 68px);background-size:100% 6px;background-repeat:no-repeat;background-position:0 100%}
.hero-band h1{color:#fff}
.hero-band .lead{color:#D6EBDD}
.hero-band .form{background:#fff;border-radius:18px;padding:22px 22px 18px;box-shadow:0 18px 40px -18px rgba(15,63,42,.45)}
.hero-band .seg input:checked+label{background:var(--brand);border-color:var(--brand)}
.hero-band .tool{padding-bottom:64px}
.example-note{background:var(--warm);border-radius:10px;padding:10px 12px;font-size:15px;margin-bottom:14px}
.tag-ex{display:inline-block;background:var(--sun);color:var(--ink);font:700 14px var(--cond);border-radius:5px;padding:1px 7px;margin-right:6px}
.is-example .grid,.is-example h2,.is-example .summary{opacity:.92}
.band.warm{background:var(--warm)}
.band.warm .alert{border:1.5px solid #F0DFA6}
.site-nav a[aria-current]{border-bottom-color:var(--brand)}
.logo:hover{color:var(--ink)}

/* footer */
.site-foot{background:var(--brand-xd);padding:32px 0 48px;font-size:14px;color:#CFE3D6;margin-top:24px}
.site-foot .wrap{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.site-foot p{max-width:700px}
.site-foot nav{display:flex;flex-direction:column;gap:4px}
.site-foot a{color:#fff}

@media (max-width:1000px){
  .tool,.calc,.article{grid-template-columns:minmax(0,1fr)}
  .aside{position:static}
  .grid{grid-template-columns:96px repeat(6,minmax(0,1fr))}
}
@media (max-width:700px){
  .wrap{padding:0 16px}
  body{font-size:16px}
  h1{font-size:38px}
  h2{font-size:28px}
  .lead{font-size:17px}
  .site-head .wrap{min-height:56px;padding-top:8px;padding-bottom:8px}
  .site-nav{gap:14px;font-size:15px}
  .tool{padding-top:24px;padding-bottom:40px;gap:28px}
  .result{padding:16px 12px}
  .result h2{font-size:24px}
  .grid{grid-template-columns:66px repeat(6,minmax(0,1fr));gap:3px}
  .grid .city{font-size:15px}
  .grid .h{font-size:13px;padding-left:0;text-align:center}
  .c{padding:6px 2px;min-height:38px;text-align:center;display:flex;align-items:center;justify-content:center}
  .c b,.c small{display:none}
  .c .s{display:block;font:600 12.5px/1.1 var(--cond)}
  .actions{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr;gap:20px}
  .timeline::before,.ev .dot{display:none}
  .alert form{flex-direction:column;flex-basis:100%}
  .news li{grid-template-columns:1fr;gap:2px}
  table{font-size:14px}
  .bar{grid-template-columns:44px 1fr 90px}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}

/* grywalizacja: licznik dni, tablica odjazdów, daty ważności, udostępnianie */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.result h2.cd-h{font-size:34px;line-height:1.12}
.cd{display:inline-block;position:relative;min-width:2.4ch;text-align:center;background:var(--ink);color:var(--sun);border-radius:8px;padding:0 9px;margin:0 2px;font-variant-numeric:tabular-nums}
.cd::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(255,255,255,.2)}
.cd-sub{margin:4px 0 2px;font-size:16.5px}
.stamp{display:inline-block;font:700 19px/1 var(--cond);letter-spacing:1.6px;text-transform:uppercase;color:var(--go);border:3px solid var(--go);border-radius:8px;padding:6px 12px;transform:rotate(-4deg);margin:2px 0 12px;animation:stamp .55s cubic-bezier(.2,.8,.3,1.3) both}
@keyframes stamp{0%{transform:rotate(-4deg) scale(2.4);opacity:0}100%{transform:rotate(-4deg) scale(1);opacity:1}}
.c{position:relative}
.c::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.06)}
.grid.flip .c{animation:flap .46s cubic-bezier(.3,.7,.4,1.25) both;animation-delay:calc(var(--i,0) * 26ms)}
@keyframes flap{0%{transform:perspective(500px) rotateX(-90deg);opacity:.15}60%{opacity:1}100%{transform:perspective(500px) rotateX(0)}}
.v-h{font-size:22px;margin:6px 0 10px}
.vcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:18px}
.vcard{--c:var(--unk);--cb:var(--unk-bg);background:#fff;border:1.5px solid var(--line);border-top:5px solid var(--c);border-radius:12px;padding:10px 12px 12px;display:flex;flex-direction:column;min-width:0}
.v-go{--c:var(--go);--cb:var(--go-bg)}.v-exempt{--c:var(--ex);--cb:var(--ex-bg)}.v-pay{--c:var(--pay);--cb:var(--pay-bg)}.v-limited{--c:var(--lim);--cb:var(--lim-bg)}.v-stop{--c:var(--stop);--cb:var(--stop-bg)}
.v-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 6px;margin-bottom:2px}
.v-top a{font:700 19px var(--cond);color:var(--ink);text-decoration:none}
.v-top a:hover{text-decoration:underline}
.v-pill{font:600 13px/1 var(--cond);background:var(--cb);color:var(--c);border-radius:20px;padding:4px 8px;white-space:nowrap}
.v-big{font:700 25px/1.1 var(--cond);color:var(--c);margin:2px 0 4px}
.v-num{font-size:40px;line-height:1;font-variant-numeric:tabular-nums}
.v-sub{font-size:13.5px;line-height:1.35;margin:0 0 8px}
.v-joke{font-size:13.5px;line-height:1.35;color:var(--muted);font-style:italic;margin:auto 0 0;padding-top:8px;border-top:1px dashed var(--line)}
.vcards.pop .vcard{animation:pop .45s ease-out both;animation-delay:calc(650ms + var(--i,0) * 90ms)}
@keyframes pop{0%{transform:translateY(12px);opacity:0}100%{transform:none;opacity:1}}
.summary .kebab{color:var(--muted);font-style:italic}
.share{background:var(--mint);border-radius:12px;padding:14px 16px;margin:0 0 18px;display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap}
.share p{margin:0;flex:1 1 240px;font-size:15.5px}
.share-btns{display:flex;gap:8px;flex-wrap:wrap}
.share .btn{padding:11px 16px;font-size:15.5px}
.share .btn.ghost{background:#fff}
.share .share-msg{flex-basis:100%;font-size:14px;color:var(--brand-d)}
.share .share-msg:empty{display:none}
@media (max-width:700px){
  .result h2.cd-h{font-size:26px}
  .cd-sub{font-size:15px}
  .vcards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .vcard{padding:9px 10px 10px}
  .v-top{flex-wrap:wrap}
  .v-top a{font-size:17px}
  .v-pill{font-size:12px;padding:3px 7px}
  .v-big{font-size:21px}
  .v-num{font-size:34px}
  .v-sub,.v-joke{font-size:13px}
  .share-btns{width:100%}
  .share-btns .btn{flex:1 1 auto}
}
/* ikony w tabeli: ✓ tak, ✗ nie, zł opłata, liczba dni, ? nieustalone */
.grid .c{display:flex;align-items:center;justify-content:center;min-height:52px;padding:6px 2px}
.mk{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;flex:none;color:#fff;font:700 15px/1 var(--cond);font-variant-numeric:tabular-nums;font-style:normal}
.mk svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.grid .mk{position:relative;z-index:1}
.mk-go{background:var(--go)}
.mk-exempt{background:var(--ex)}
.mk-pay{background:var(--sun);color:var(--ink)}
.mk-limited{background:#B8600F}
.mk-stop{background:var(--stop)}
.mk-unknown,.mk-inactive{background:#7C8681}
.legend{color:var(--ink);gap:8px 18px}
.legend>span{display:inline-flex;align-items:center}
.legend .mk{width:22px;height:22px;font-size:11.5px;margin-right:7px}
.legend .mk svg{width:14px;height:14px;stroke-width:3.4}
.v-pill{display:inline-flex;align-items:center;gap:5px}
.v-pill .mk{width:16px;height:16px;font-size:9.5px}
.v-pill .mk svg{width:11px;height:11px;stroke-width:3.8}
@media (max-width:700px){
  .grid .c{min-height:40px;padding:4px 1px}
  .grid .mk{width:26px;height:26px;font-size:13px}
  .grid .mk svg{width:16px;height:16px}
  .legend{font-size:13px;gap:6px 14px}
}
/* zapis na alerty */
.form-msg:empty{display:none}
.alert .fine{flex-basis:100%;font-size:13px;color:var(--muted);margin:0}
.alert .fine a{color:var(--muted)}
.alert.done form,.alert.done .fine{display:none}
.alert.done .form-msg{font-size:16px;color:var(--ink);background:var(--mint);border-radius:10px;padding:12px 14px}
/* dymek ze szczegółami komórki */
.grid .c{cursor:pointer}
.grid .c:focus-visible{outline:3px solid var(--blue);outline-offset:1px}
.grid .mk{transition:transform .15s ease}
.grid .c:hover .mk,.grid .c[aria-describedby] .mk{transform:scale(1.15)}
.tip{position:absolute;z-index:60;width:max-content;max-width:min(270px,calc(100vw - 16px));background:var(--ink);color:#fff;border-radius:10px;padding:10px 13px 11px;font-size:14px;line-height:1.4;box-shadow:0 12px 30px -10px rgba(0,0,0,.5);pointer-events:none}
.tip[hidden]{display:none}
.tip::after{content:"";position:absolute;left:var(--ax,50%);top:100%;transform:translateX(-50%);border:7px solid transparent;border-top-color:var(--ink)}
.tip.below::after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--ink)}
.tip .t-when{font:600 13px/1.2 var(--cond);color:#B9C7BF;text-transform:uppercase;letter-spacing:.5px}
.tip .t-stat{display:flex;align-items:center;gap:7px;font:700 19px/1.2 var(--cond);margin:5px 0 5px}
.tip .t-stat .mk{width:21px;height:21px;font-size:11px}
.tip .t-stat .mk svg{width:13px;height:13px;stroke-width:3.6}
.tip p{margin:0 0 4px;color:#E8EFEA}
.tip p:last-child{margin-bottom:0}
.tip-hint{font-size:13.5px;color:var(--muted);margin:-10px 0 18px}
.tip .t-demo{margin-top:8px;padding-top:7px;border-top:1px solid rgba(255,255,255,.18);color:var(--sun);font-weight:600}
.tip{animation:tipin .18s ease-out}
@keyframes tipin{0%{opacity:0;transform:translateY(4px)}100%{opacity:1;transform:none}}
/* baner reklamowy (jedna oferta) i karta w bocznej kolumnie */
.banner{position:relative;margin:30px 0}
.banner .bn,.prose .banner .bn{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;background-color:var(--brand-d);background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 14px,transparent 14px 28px),linear-gradient(120deg,var(--brand-xd),var(--brand));color:#fff;text-decoration:none;border-radius:18px;padding:30px 24px 22px;box-shadow:0 16px 34px -18px rgba(15,63,42,.75);transition:transform .15s ease}
.banner .bn:hover{color:#fff;transform:translateY(-2px)}
.bn-ico .o-ico{width:60px;height:60px;padding:14px;border-radius:16px;background:rgba(255,255,255,.13);stroke:var(--sun)}
.bn-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.bn-kicker{font:700 13px var(--cond);letter-spacing:1.2px;text-transform:uppercase;color:var(--sun)}
.bn-name{font:700 15px var(--cond);color:#CFE3D6}
.banner .bn strong{font:700 27px/1.12 var(--cond);color:#fff;margin:0}
.bn-text{color:#D6EBDD;font-size:15.5px;line-height:1.45}
.bn-cta{background:var(--sun);color:var(--ink);font-weight:700;font-size:16px;border-radius:12px;padding:13px 18px;white-space:nowrap;text-align:center}
.banner .bn:hover .bn-cta{background:var(--sun-d)}
.bn-ad{position:absolute;top:9px;right:12px;font-size:11.5px;color:#DCEBE1;background:rgba(0,0,0,.2);border-radius:6px;padding:1px 7px;pointer-events:none}
.side-ad,.aside .side-ad{display:flex;flex-direction:column;gap:6px;margin-top:20px;background:#fff;border-radius:14px;padding:14px;color:var(--ink);text-decoration:none;box-shadow:0 10px 24px -16px rgba(15,63,42,.5)}
.side-ad:hover{color:var(--ink)}
.sa-top{display:flex;align-items:center;gap:8px}
.sa-top .o-ico{width:38px;height:38px;padding:8px;border-radius:10px}
.sa-ad{margin-left:auto;font-size:11.5px;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:0 6px}
.side-ad strong{font:700 19px/1.15 var(--cond)}
.side-ad .o-text{font-size:14.5px;line-height:1.4}
.side-ad .o-cta{font-size:15px;padding:9px 10px;margin-top:4px}
.side-ad:hover .o-cta{background:var(--brand-d)}
.result .banner{margin:4px 0 18px}
@media (max-width:700px){
  .banner .bn,.prose .banner .bn{grid-template-columns:auto minmax(0,1fr);gap:12px 14px;padding:30px 16px 16px}
  .bn-ico .o-ico{width:48px;height:48px;padding:11px}
  .banner .bn strong{font-size:23px}
  .bn-cta{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}
