/*
Theme Name: KERNAL Start
Theme URI: https://kernal.pl
Author: KERNAL
Description: Motyw bazowy KERNAL dla pakietu Firmowa — lekki, bez page buildera, kolory i dane firmy z Customizera. Ten sam język wizualny co generator Start.
Version: 0.1.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.1
License: proprietary
Text Domain: kernal-start
*/
:root{--max:1200px;--gutter:clamp(16px,4vw,40px);--sec:clamp(56px,8vw,104px);--r:10px;--control:52px}

/* Bazowe style z generatora Start (generator/szablon-start.html); tokeny kolorów wstrzykuje PHP (ks_tokeny_css). */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--accent-text)}
h1,h2,h3{font-family:var(--head);font-weight:700;line-height:1;margin:0;letter-spacing:.005em;text-transform:uppercase}
h1{font-size:clamp(44px,7vw,96px)}
h2{font-size:clamp(34px,4.6vw,60px)}
h3{font-size:26px}
p{margin:0}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.sec{padding:var(--sec) 0}
.sec+.sec{border-top:1px solid var(--border)}
.et{font-family:var(--body);font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);margin-bottom:16px;display:flex;align-items:center;gap:10px}
.et::before{content:"";width:28px;height:4px;background:var(--accent)}
.lead{font-size:20px;color:var(--muted);max-width:60ch;line-height:1.5}
.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--control);padding:0 24px;border-radius:var(--r);font-weight:600;font-size:17px;text-decoration:none;border:2px solid transparent;cursor:pointer;white-space:nowrap;font-family:var(--body)}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.btn-primary:hover{filter:brightness(.95)}
.btn-secondary{background:transparent;color:var(--text);border-color:var(--text)}
.btn-secondary:hover{background:var(--text);color:var(--bg)}
a:focus-visible,.btn:focus-visible,button:focus-visible{outline:3px solid var(--text);outline-offset:3px}
.deep a:focus-visible{outline-color:var(--deep-text)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:24px}
.ph{background:var(--raised);display:grid;place-items:center;color:var(--muted);font-size:13px;text-align:center;padding:16px}

/* nagłówek */
.top{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--border)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.brand{font-family:var(--head);font-size:28px;text-transform:uppercase;text-decoration:none;color:var(--text);display:flex;align-items:baseline;gap:10px}
.brand small{font-family:var(--body);font-size:13px;font-weight:500;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.top nav{display:flex;gap:22px;font-weight:500;font-size:15px}
.top nav a{color:var(--text);text-decoration:none}
.top .tel{font-weight:700;font-size:18px;color:var(--text);text-decoration:none;white-space:nowrap}
@media (max-width:900px){.top nav{display:none}.top .tel span{display:none}.brand small{display:none}}

/* hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero h1{max-width:12ch}
.hero .cta{display:flex;gap:12px 20px;flex-wrap:wrap;margin-top:28px;align-items:center}
.cta-link{font-weight:600;color:var(--text);text-decoration:none;border-bottom:2px solid var(--accent)}
.ceny-skrot{margin-top:14px;font-weight:600;font-size:16px}
.dowody{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px;padding-top:24px;border-top:2px solid var(--text)}
.dowody b{display:block;font-family:var(--head);font-size:22px;text-transform:uppercase;line-height:1.1}
.dowody span{font-size:15px;color:var(--muted)}
.hero .foto{aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--raised)}
.hero .foto img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.hero{grid-template-columns:1fr}.hero .foto{aspect-ratio:16/10}.dowody{grid-template-columns:1fr;gap:12px}}

/* usługi */
.uslugi{display:grid;gap:0;border-top:2px solid var(--text);margin-top:32px}
.usluga{display:grid;grid-template-columns:1.1fr 1.6fr 200px;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--border)}
.usluga p{color:var(--muted);font-size:16px}
.usluga .cena{font-family:var(--head);font-size:30px;text-align:right;line-height:1}
.usluga .cena small{display:block;font-family:var(--body);font-size:13px;color:var(--muted);margin-top:6px;text-transform:none}
@media (max-width:820px){.usluga{grid-template-columns:1fr;gap:8px}.usluga .cena{text-align:left;margin-top:6px}}

/* o nas */
.onas{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.onas ul{margin:24px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.onas li{padding-left:26px;position:relative;font-size:16px}
.onas li::before{content:"";position:absolute;left:0;top:9px;width:14px;height:5px;background:var(--accent)}
.onas .foto{aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:var(--raised)}
.onas .foto img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.onas{grid-template-columns:1fr}}

/* kroki */
.kroki{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px;border-top:2px solid var(--text)}
.krok{padding-top:20px}
.krok .n{font-family:var(--head);font-size:44px;color:var(--accent-text);line-height:1}
.krok h3{margin:10px 0 8px}
.krok p{color:var(--muted);font-size:16px}
@media (max-width:820px){.kroki{grid-template-columns:1fr;gap:0}.krok{border-bottom:1px solid var(--border);padding-bottom:20px}}

/* opinie */
.opinie{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.opinia{display:grid;gap:14px}
.opinia p{font-size:17px}
.opinia b{font-size:14px;color:var(--muted);font-weight:500}
.opinia::before{content:"“";font-family:var(--head);font-size:56px;line-height:.6;color:var(--accent)}
.zastrz{margin-top:16px;font-size:13px;color:var(--muted);border-left:3px solid var(--accent);padding-left:12px}
@media (max-width:820px){.opinie{grid-template-columns:1fr}}

/* cennik */
.cennik{margin-top:32px;border-top:2px solid var(--text)}
.cennik .w{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--border)}
.cennik .w b{font-family:var(--head);font-size:24px;white-space:nowrap}
#cennik .uw{margin-top:16px;font-size:16px;color:var(--muted)}

/* kontakt */
.kontakt{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.kontakt .mapa-blok{grid-column:1/-1}
.kontakt .info{display:grid;gap:22px}
.kontakt .tel-big{font-family:var(--head);font-size:clamp(32px,4vw,48px);color:var(--text);text-decoration:none;line-height:1}
.godz{display:grid;gap:6px;font-size:16px}
.godz div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);padding:6px 0}
.mapa{aspect-ratio:16/10;border-radius:var(--r);overflow:hidden;border:1px solid var(--border);background:var(--raised)}
.mapa iframe{width:100%;height:100%;border:0}
form{display:grid;gap:14px}
label{display:grid;gap:6px;font-size:15px;font-weight:600}
input{font:inherit;font-size:17px;height:var(--control);padding:0 14px;border:1px solid var(--muted);border-radius:var(--r);background:var(--surface);color:var(--text);width:100%}
input:focus-visible{outline:3px solid var(--text);outline-offset:3px;border-color:var(--text)}
input[aria-invalid=true]{border-color:var(--err)}
.hint{font-size:13px;color:var(--muted);font-weight:400}
.state{padding:12px 14px;border-radius:var(--r);font-size:15px;border:1px solid var(--border);background:var(--raised)}
.state.ok{border-color:var(--ok)}.state.err{border-color:var(--err)}
@media (max-width:900px){.kontakt{grid-template-columns:1fr}.kontakt .info{order:1}.kontakt form{order:2}.kontakt .mapa-blok{order:3}}

/* stopka */
.deep{background:var(--deep);color:var(--deep-text);padding:40px 0;font-size:14px}
.deep .wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}
.deep a{color:var(--deep-text)}
.deep h3{font-family:var(--head);font-size:20px;text-transform:uppercase;margin:0 0 8px}
.deep p{opacity:.85}
.deep .wz{grid-column:1/-1;border-top:1px solid var(--deep-border);padding-top:16px;opacity:.8}
@media (max-width:820px){.deep .wrap{grid-template-columns:1fr}}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:var(--surface);padding:8px;z-index:30}

/* ---------- Firmowa: nawigacja, podstrony, blog ---------- */
.top .wrap{height:72px}
.top nav ul{list-style:none;margin:0;padding:0;display:flex;gap:22px}
.top nav .current-menu-item>a,.top nav .current_page_parent>a{border-bottom:2px solid var(--accent)}
@media (max-width:900px){.top .wrap{flex-wrap:wrap;height:auto;padding-top:12px;padding-bottom:12px;row-gap:8px}.top nav{display:flex;order:3;flex-basis:100%;border-top:1px solid var(--border);padding-top:8px}.top nav ul{flex-wrap:wrap;gap:14px 18px;font-size:14px;font-weight:600}}
.zajawki{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.zajawka{display:grid;gap:10px;text-decoration:none;color:inherit}
.zajawka:hover .foto{outline:2px solid var(--text)}
.zajawka .foto{aspect-ratio:16/10;border-radius:var(--r);overflow:hidden;background:var(--raised)}
.zajawka .foto img{width:100%;height:100%;object-fit:cover}
.zajawka h2,.zajawka h3{font-size:24px}
.zajawka p{color:var(--muted);font-size:16px}
.zajawka time{font-size:13px;color:var(--muted)}
@media (max-width:820px){.zajawki{grid-template-columns:1fr}}
.usluga a{color:inherit;text-decoration:none}
.usluga h2,.usluga h3{font-size:26px}
.usluga h2 a:hover,.usluga h3 a:hover{border-bottom:2px solid var(--accent)}
.usluga .cena .lnk{display:block;font-family:var(--body);font-size:14px;font-weight:600;margin-top:8px;color:var(--accent-text)}
/* nagłówek podstrony */
.pg-head{padding-block:var(--sec) clamp(24px,4vw,40px)}
.pg-head h1{font-size:clamp(40px,6vw,80px);max-width:16ch}
.pg-head .lead{margin-top:16px}
.pg-cena{display:flex;gap:24px;align-items:baseline;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:2px solid var(--text)}
.pg-cena b{font-family:var(--head);font-size:40px;line-height:1}
.pg-cena span{color:var(--muted)}
.tresc{max-width:72ch;font-size:18px;line-height:1.6}
.tresc h2{font-size:clamp(28px,3.4vw,40px);margin:1.6em 0 .5em}
.tresc h3{font-size:24px;margin:1.4em 0 .4em}
.tresc p,.tresc ul,.tresc ol{margin:0 0 1em}
.tresc li{margin-bottom:.4em}
.tresc img{border-radius:var(--r)}
.tresc blockquote{margin:1.5em 0;padding:0 0 0 18px;border-left:4px solid var(--accent);color:var(--muted)}
.tresc table{border-collapse:collapse;width:100%;font-size:16px}
.tresc th,.tresc td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border)}
.tresc a{color:var(--accent-text)}
.dwie{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start}
.bok{position:sticky;top:96px;display:grid;gap:16px}
@media (max-width:900px){.dwie{grid-template-columns:1fr}.bok{position:static}}
.faq details{border-bottom:1px solid var(--border)}
.faq summary{cursor:pointer;padding:16px 0;font-weight:600;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:"+";font-family:var(--head);color:var(--accent-text);font-size:22px}
.faq details[open] summary::after{content:"–"}
.faq p{padding:0 0 16px;color:var(--muted)}
/* blog */
.wpisy{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:32px}
@media (max-width:820px){.wpisy{grid-template-columns:1fr}}
.meta{font-size:14px;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap}
.meta a{color:inherit}
.wpis-head{padding-block:var(--sec) 32px}
.wpis-head h1{font-size:clamp(36px,5vw,64px);max-width:18ch}
.wpis-foto{aspect-ratio:16/8;border-radius:var(--r);overflow:hidden;background:var(--raised);margin-bottom:32px}
.wpis-foto img{width:100%;height:100%;object-fit:cover}
.wpis-nav{display:flex;justify-content:space-between;gap:16px;margin-top:40px;padding-top:20px;border-top:2px solid var(--text);font-weight:600}
.wpis-nav a{color:var(--text);text-decoration:none;max-width:45%}
.wpis-nav span{display:block;font-size:13px;color:var(--muted);font-weight:400}
.cta-pasek{background:var(--raised);border-radius:var(--r);padding:28px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-top:40px}
.cta-pasek b{font-family:var(--head);font-size:26px;text-transform:uppercase}
.paginacja{display:flex;gap:8px;margin-top:32px}
.paginacja a,.paginacja span{padding:8px 14px;border:1px solid var(--border);border-radius:var(--r);text-decoration:none;color:var(--text)}
.paginacja .current{background:var(--text);color:var(--bg)}
.s404{text-align:center;padding-block:var(--sec)}
.deep .menu{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.deep .menu a{text-decoration:none}
.screen-reader-text{position:absolute;left:-9999px}

.noscript-info{display:block;font-size:14px;color:var(--muted);margin-top:8px}
