/* Formularze, strony tekstowe, własny projekt */
.field{display:grid;gap:6px;min-width:0}
.field label,.lbl{font-weight:600;font-size:.9rem}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],input[type=password],input[type=url],select,textarea{width:100%;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);border-radius:var(--r-sm);padding:12px 14px;font:inherit;min-width:0}
.search input[type=search]{border-radius:999px}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(11,122,98,.25)}
.field.bad input,.field.bad select,.field.bad textarea,.field.bad .drop{border-color:var(--danger)}
.err{color:var(--danger);font-size:.86rem;min-height:0}
.err:empty{display:none}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;cursor:pointer}
.chk input{width:20px;height:20px;margin-top:2px;accent-color:var(--accent);flex:none}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{display:inline-block;border:1.5px solid var(--line);background:var(--surface);border-radius:99px;padding:8px 16px;font-weight:600;font-size:.92rem;text-decoration:none;color:var(--fg);transition:.2s}
.chip:hover{border-color:var(--fg)}
.chip.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.sw{display:flex;gap:10px;flex-wrap:wrap}
.swb{display:block;width:38px;height:38px;border-radius:50%;border:0;background:var(--c,#ccc);box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);position:relative;transition:transform .2s}
.swb:hover{transform:scale(1.1)}
.swb.on{box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 0 0 3px var(--bg),0 0 0 5px var(--fg)}
.swb.all{background:conic-gradient(#C4704B,#D8C3A0,#9CB5A0,#2E4A6B,#2F3136,#C4704B)}
.swl{cursor:pointer;display:block}
.swl input{position:absolute;opacity:0;width:1px;height:1px}
.swl input:checked+.swb{box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 0 0 3px var(--surface),0 0 0 5px var(--fg)}
.swl input:focus-visible+.swb{outline:3px solid var(--accent);outline-offset:6px}
.opt{display:flex;gap:10px;flex-wrap:wrap}
.opt label{flex:1 1 140px;display:block;cursor:pointer}
.opt input{position:absolute;opacity:0;width:1px;height:1px}
.optc{display:grid;gap:2px;border:1.5px solid var(--line);background:var(--surface);border-radius:var(--r-sm);padding:12px 14px}
.optc small{color:var(--muted)}
.opt input:checked+.optc{border-color:var(--accent);box-shadow:0 0 0 3px rgba(11,122,98,.22)}
.opt input:focus-visible+.optc{outline:3px solid var(--accent);outline-offset:2px}
.card{background:var(--surface);border-radius:var(--r);padding:clamp(20px,3vw,32px);box-shadow:var(--shadow-s)}
.bar{height:8px;background:var(--surface2);border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;width:0;background:var(--accent);border-radius:99px;transition:width .2s}
.empty{text-align:center;padding:60px 20px;display:grid;gap:14px;justify-items:center}
.small{font-size:.85rem}

/* Własny projekt */
.cu-hero{display:grid;gap:14px;max-width:760px;margin-bottom:32px}
.cu-hero h1{font-size:clamp(2.1rem,4.6vw,3.4rem)}
.cu-hero .big{font-size:1.1rem}
.cu{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;align-items:start}
.cu>*{min-width:0}
.cuf{display:grid;gap:26px}
.drop{border:2px dashed var(--line);border-radius:var(--r);padding:34px 18px;text-align:center;display:grid;gap:8px;justify-items:center;background:var(--bg);transition:.2s;cursor:pointer}
.drop.over,.drop:hover{border-color:var(--accent);background:var(--accent-soft)}
.pick{color:var(--accent);font-weight:700}
.fileok{display:grid;gap:10px;background:var(--bg);border-radius:var(--r-sm);padding:14px 16px}
.fileok[hidden],.card.done[hidden],#drop[hidden],.cuf[hidden]{display:none}
.fname{display:flex;gap:10px;align-items:center;min-width:0;overflow-wrap:anywhere}
.contact{display:grid;gap:14px}
.consents{display:grid;gap:12px}
.consents a{color:var(--accent)}
.form-err{padding:0}
.big-btn{padding:16px}
.big-btn[disabled]{opacity:.6;pointer-events:none}
.how{position:sticky;top:calc(88px + env(safe-area-inset-top,0px))}
.how ol{list-style:none;margin:20px 0 0;padding:0}
.how li{display:grid;grid-template-columns:44px 1fr;gap:14px;padding-bottom:22px;position:relative}
.how li:not(:last-child)::before{content:"";position:absolute;left:21px;top:44px;bottom:2px;width:2px;background:var(--line)}
.how .n{width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--accent-fg);display:grid;place-items:center;font-family:var(--f-display);font-weight:800}
.how p{font-size:.93rem}
.done{text-align:center;display:grid;gap:16px;justify-items:center;padding:clamp(24px,4vw,48px)}
.done .ok{width:72px;height:72px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}
.extra{margin-top:48px}

/* Strony tekstowe */
.page-title{font-size:clamp(2rem,4.4vw,3rem);margin-bottom:24px}
.entry{font-size:1.02rem}
.entry>*+*{margin-top:1em}
.entry h2{margin-top:1.6em}
.entry h3{margin-top:1.4em}
.entry a{color:var(--accent)}
.entry ul,.entry ol{padding-left:1.3em}
.entry img{border-radius:var(--r-sm)}
.post-item{padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:28px}
.post-item h2 a{text-decoration:none}
.pagination{margin-top:24px}
.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{border:1.5px solid var(--line);background:var(--surface);border-radius:99px;min-width:40px;height:40px;padding:0 14px;display:grid;place-items:center;text-decoration:none;font-weight:600}
.pagination .current{background:var(--fg);color:var(--bg);border-color:var(--fg)}

@media (max-width:1000px){
  .cu{grid-template-columns:1fr}
  .how{position:static}
}
@media (max-width:720px){
  .row2,.row3{grid-template-columns:1fr}
}
