/* Koszyk, kasa i konto klienta (wersja z backendem). Tokeny z theme.css. */
.wrap2{max-width:1240px;margin:0 auto;padding:24px clamp(16px,4vw,40px) 64px;box-sizing:border-box}
.wrap2 h1{font-size:clamp(28px,4vw,40px);margin:0 0 6px}
.lead{color:var(--muted);margin:0 0 22px}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}
@media (max-width:960px){.cols{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:16px}
.card h2{font-size:19px;margin:0 0 4px}
.card h3{font-size:15px;margin:18px 0 8px}
.sticky{position:sticky;top:180px}
.row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:14px}
.row.total{border-top:1px solid var(--line);margin-top:6px;padding-top:12px;font-size:18px;font-weight:700}
.muted{color:var(--muted)}.small{font-size:13px}
.line-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.line-head p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.line-price{text-align:right;font-weight:700;font-size:18px;white-space:nowrap}
.line-price small{display:block;font-weight:500;font-size:12px;color:var(--muted)}
.line-acts{display:flex;gap:14px;margin-top:8px;font-size:13px}
.line-acts button,.btn-link{background:none;border:0;padding:0;color:var(--pink-ink);font:inherit;font-weight:650;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.slot{margin-top:14px}
.slot-h{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;margin-bottom:8px}
.slot-h .badge{font-weight:650}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 10px;border-radius:100px;background:#f1eeec;color:var(--ink);white-space:nowrap;font-weight:650}
.badge.ok{background:#e3f5ea;color:#11643a}.badge.warn{background:#fff3d6;color:#7a5200}.badge.err{background:#fde6ec;color:#a5123d}.badge.info{background:#e6efff;color:#1f4fa8}
.badge.szary{background:#efecea}.badge.niebieski{background:#e6efff;color:#1f4fa8}.badge.czerwony{background:#fde6ec;color:#a5123d}.badge.zolty{background:#fff3d6;color:#7a5200}.badge.zielony{background:#e3f5ea;color:#11643a}
.pf-drop{display:grid;justify-items:center;text-align:center;gap:4px;border:2px dashed #d8d0ca;border-radius:14px;padding:22px 16px;cursor:pointer;background:var(--paper-bg);transition:border-color .15s,background .15s}
.pf-drop:hover,.pf-drop.over{border-color:var(--pink);background:var(--pink-soft)}
.pf-drop-ico{font-size:24px;color:var(--pink-ink)}
.pf-drop small{color:var(--muted);font-size:12px;max-width:460px}
.pf-progress{border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:8px}
.pf-progress i{height:6px;background:#eee;border-radius:9px;overflow:hidden;display:block}.pf-progress em{display:block;height:100%;background:var(--pink);transition:width .2s}
.pf-progress small{color:var(--muted)}
.pf-card{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:18px;border:1px solid var(--line);border-radius:14px;padding:14px}
.pf-card.pf-ok{border-color:#bfe3cc}.pf-card.pf-blad{border-color:#f3b9c8}
@media (max-width:640px){.pf-card{grid-template-columns:1fr}}
.pf-thumbs{display:grid;gap:10px;align-content:start}
.pf-thumb{margin:0}.pf-thumb figcaption{font-size:11px;color:var(--muted);margin-top:4px}
.pf-img{position:relative;background:repeating-conic-gradient(#f1eeec 0 25%,#fff 0 50%) 0 0/12px 12px;border-radius:6px;overflow:hidden;box-shadow:0 6px 18px -12px rgba(0,0,0,.5)}
.pf-img img{display:block;width:100%;height:auto}
.pf-cut{position:absolute;outline:1px dashed #e0245e;box-shadow:0 0 0 999px rgba(255,255,255,.28)}
.pf-empty{display:grid;place-items:center;aspect-ratio:3/2;background:var(--paper-bg);border-radius:8px;font-weight:800;color:var(--muted)}.pf-empty small{font-weight:500;font-size:11px}
.pf-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}
.pf-name{word-break:break-all;font-size:14px}.pf-head small{display:block;color:var(--muted);font-size:12px}
.pf-det summary{cursor:pointer;font-size:13px;font-weight:700;margin:10px 0 6px}
.pf-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pf-list li{display:flex;gap:10px;font-size:13px;line-height:1.5}
.pf-list small{display:block;color:var(--muted)}
.pf-ico{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:900;color:#fff;margin-top:1px}
.pf-ok .pf-ico,.pf-list .pf-ok .pf-ico{background:#1f9d55}.pf-list .pf-uwaga .pf-ico{background:#e2a400}.pf-list .pf-blad .pf-ico{background:#d4234f}
.pf-accept{margin-top:14px;border-radius:12px;background:#f3fbf6;border:1px solid #c7e8d4;padding:14px;display:grid;gap:10px}
.pf-accept-err{background:#fff5f7;border-color:#f6c9d5}
.pf-accept-h{margin:0;font-size:14px;font-weight:650}
.pf-check{display:flex;gap:10px;font-size:13px;line-height:1.5;cursor:pointer}
.pf-check input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--pink-ink)}
.pf-check-warn{background:#fff8e5;border-radius:8px;padding:8px 10px}
.pf-btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}
.pf-accepted{margin:8px 0 0;font-size:13px;color:#11643a;font-weight:650}
.btn-acc,.btn-sec,.btn-pri{min-height:42px;padding:0 18px;border-radius:100px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;border:1px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;gap:6px}
.btn-acc{background:#1f9d55;border-color:#1f9d55;color:#fff}
.btn-pri{background:var(--pink);border-color:var(--pink);color:#000}
.btn-sec{background:#fff;color:var(--ink)}
.btn-pri[disabled],.btn-acc[disabled]{opacity:.45;cursor:not-allowed}
.btn-wide{width:100%;min-height:50px;font-size:16px}
.note{border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.55;margin:0 0 14px}
.note.err{background:#fde6ec;color:#7c0f2e}.note.ok{background:#e3f5ea;color:#0f4f2e}.note.info{background:#eef2fb;color:#1c3a7a}.note.warn{background:#fff6dc;color:#634300}
.form{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.form .full{grid-column:1/-1}
@media (max-width:600px){.form{grid-template-columns:1fr}}
.fld{display:grid;gap:5px;font-size:13px;font-weight:650}
.fld input,.fld select,.fld textarea{font:inherit;font-weight:500;font-size:15px;padding:11px 12px;border:1px solid #d6cec8;border-radius:10px;background:#fff;color:var(--ink);min-width:0}
.fld textarea{min-height:90px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--pink);outline-offset:1px;border-color:transparent}
.opts{display:grid;gap:10px}
.opt{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer}
.opt:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.opt input{margin-top:3px;accent-color:var(--pink-ink)}
.opt b{display:block;font-size:14px}.opt small{color:var(--muted);font-size:12px}
.opt .pr{margin-left:auto;font-weight:700;white-space:nowrap}
.steps2{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:0;list-style:none;font-size:13px;font-weight:650;color:var(--muted)}
.steps2 li{display:flex;align-items:center;gap:6px}.steps2 li b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#ece7e3;color:var(--ink);font-size:12px}
.steps2 li.now{color:var(--ink)}.steps2 li.now b{background:var(--pink);color:#000}.steps2 li.done b{background:var(--ink);color:#fff}
.steps2 .sep{color:#cfc7c1}
.empty2{text-align:center;padding:40px 16px}
.tl{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.tl li{flex:1;min-width:110px;font-size:12px;color:var(--muted);border-top:4px solid #e6e0da;padding-top:8px;font-weight:650}
.tl li.done{border-color:#1f9d55;color:var(--ink)}.tl li.now{border-color:var(--pink);color:var(--ink)}.tl li.err{border-color:#d4234f;color:#a5123d}
.copy{display:inline-flex;align-items:center;gap:8px;font-family:ui-monospace,Menlo,monospace;font-size:14px;background:var(--paper-bg);border:1px solid var(--line);border-radius:10px;padding:6px 6px 6px 12px}
.copy button{border:0;background:var(--ink);color:#fff;border-radius:7px;padding:6px 10px;font:600 12px Manrope,Arial,sans-serif;cursor:pointer}
.thread{display:grid;gap:10px;margin:10px 0}
.msg{max-width:85%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.55;white-space:pre-wrap}
.msg small{display:block;font-size:11px;color:var(--muted);margin-bottom:3px;white-space:normal}
.msg.ja{justify-self:end;background:var(--pink-soft);border-bottom-right-radius:4px}
.msg.oni{background:#f1eeec;border-bottom-left-radius:4px}
.msg .re{font-size:12px;color:var(--muted);border-left:3px solid #d7cfc9;padding-left:8px;margin:4px 0 6px;white-space:normal}
.tabs2{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.tabs2 a{padding:8px 14px;border-radius:100px;text-decoration:none;color:var(--ink);font-weight:650;font-size:14px;border:1px solid var(--line);background:#fff}
.tabs2 a[aria-current]{background:var(--ink);color:#fff;border-color:var(--ink)}
.olist{display:grid;gap:10px}
.oitem{display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:inherit;background:#fff}
.oitem:hover{border-color:var(--ink)}
.oitem b{font-size:16px}.oitem small{color:var(--muted);font-size:13px}
.dot{display:inline-block;min-width:18px;height:18px;border-radius:9px;background:var(--pink);color:#000;font-size:11px;font-weight:800;text-align:center;line-height:18px;padding:0 5px}
.auth{max-width:440px;margin:30px auto}

/* ————— Formularze i okna (audyt 10.11.2026): wzorowane na praktykach Chrome / Material ————— */
.fld{gap:6px;color:var(--ink)}
.fld input,.fld select,.fld textarea{min-height:44px;border:1px solid #c9c1bb;border-radius:10px;transition:border-color .15s,box-shadow .15s;line-height:1.35}
.fld textarea{min-height:96px;padding-top:10px}
.fld input::placeholder,.fld textarea::placeholder{color:#8a8287}
.fld input:hover,.fld select:hover,.fld textarea:hover{border-color:#8f878b}
.fld input:focus,.fld select:focus,.fld textarea:focus,.fld input:focus-visible,.fld select:focus-visible,.fld textarea:focus-visible{outline:none;border-color:var(--pink-ink);box-shadow:0 0 0 3px rgba(241,73,166,.28)}
.fld input[disabled],.fld select[disabled],.fld textarea[disabled]{background:#f4f1ee;color:#7a7378;cursor:not-allowed}
.fld select{appearance:none;-webkit-appearance:none;padding-right:38px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23171719' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center}
.fld [aria-invalid="true"],input[aria-invalid="true"]{border-color:#c4153f!important;box-shadow:0 0 0 3px rgba(196,21,63,.14)}
.fld-blad{display:flex;gap:6px;align-items:flex-start;color:#a5123d;font-size:13px;font-weight:600;line-height:1.4}
.fld-blad::before{content:'!';flex:none;width:16px;height:16px;border-radius:50%;background:#c4153f;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;margin-top:1px}
.pf-check .fld-blad{grid-column:1/-1;flex-basis:100%;margin-top:4px}
.pf-check{flex-wrap:wrap}
.fld small,.fld .help{font-weight:500;font-size:12.5px;color:var(--muted)}
input[type=checkbox],input[type=radio]{accent-color:var(--pink-ink)}
/* przyciski: wyraźny fokus z klawiatury, wciśnięcie, min. 40 px */
.btn-acc,.btn-sec,.btn-pri{min-height:44px;transition:background .15s,border-color .15s,box-shadow .15s,transform .05s}
.btn-acc{background:#15803d;border-color:#15803d}.btn-acc:hover{background:#116a32}
.btn-sec:hover{border-color:var(--ink);background:#faf8f6}
.btn-pri:hover{filter:brightness(.96)}
.btn-acc:active,.btn-sec:active,.btn-pri:active{transform:translateY(1px)}
.btn-acc:focus-visible,.btn-sec:focus-visible,.btn-pri:focus-visible,.btn-link:focus-visible,.line-acts button:focus-visible{outline:3px solid rgba(241,73,166,.55);outline-offset:2px}
/* karty i okna */
.card{border-color:#e4ddd7;box-shadow:0 1px 2px rgba(23,23,25,.04)}
.card h2{letter-spacing:-.2px}
/* koszyk: większe akcje pozycji (cel min. 36 px), cofnięcie usunięcia */
.line-acts{gap:6px;flex-wrap:wrap;margin-top:10px}
.line-acts button,.line-acts .btn-link{min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:100px;text-decoration:none;background:#fff;color:var(--ink);display:inline-flex;align-items:center}
.line-acts button:hover,.line-acts .btn-link:hover{border-color:var(--ink)}
.line-acts button[data-usun],.line-acts .usun{color:#a5123d}
.cofnij{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px dashed #d8d0ca;border-radius:14px;padding:12px 16px;margin-bottom:16px;background:#fff;font-size:14px}
/* wynik kontroli pliku: czytelniejszy tekst i ikony z kontrastem 4,5:1 */
.pf-list li{font-size:14px}.pf-list small{font-size:13px;line-height:1.5}
.pf-ico{width:22px;height:22px;font-size:12px}
.pf-ok .pf-ico,.pf-list .pf-ok .pf-ico{background:#15803d}.pf-list .pf-uwaga .pf-ico{background:#f2b705;color:#2b1d00}.pf-list .pf-blad .pf-ico{background:#c4153f}
.pf-thumb figcaption{font-size:12px}
.pf-head small{font-size:13px}
.badge{font-size:12.5px}
.steps2 li b{font-size:12.5px}
.msg small{font-size:12px}
@media (prefers-reduced-motion:reduce){.fld input,.fld select,.fld textarea,.btn-acc,.btn-sec,.btn-pri{transition:none}}
