/* Baza testow psychologicznych – lista narzedzi.
   Wspolne dla /pl/testy i /en/tests (jeden arkusz, dwie skorupy HTML). */

.tdb-wrap{max-width:1180px;margin:26px auto 64px;padding:0 24px;}
.tdb-head{margin-bottom:18px;}
.tdb-breadcrumb{font-size:12.5px;color:#64748b;margin-bottom:12px;}
.tdb-breadcrumb a{color:#7c3aed;text-decoration:none;}
.tdb-head h1{font:800 30px/1.2 'Inter','Segoe UI',sans-serif;letter-spacing:-0.02em;margin:0 0 8px;color:#0f172a;}
.tdb-lead{font-size:14.5px;color:#475569;max-width:760px;margin:0 0 4px;}
.tdb-lead a{color:#7c3aed;}

/* ── panel filtrow ─────────────────────────────────────────── */
.tdb-controls{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px 18px;box-shadow:0 2px 8px rgba(15,23,42,0.04);margin-bottom:18px;}
.tdb-searchrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.tdb-search{flex:1 1 280px;position:relative;}
.tdb-search input{width:100%;height:44px;padding:0 14px 0 40px;border:1.5px solid #e2e8f0;border-radius:10px;font:400 14.5px 'Inter','Segoe UI',sans-serif;color:#0f172a;background:#fff;outline:none;box-sizing:border-box;}
.tdb-search input:focus{border-color:#a78bfa;box-shadow:0 0 0 3px rgba(167,139,250,0.15);}
.tdb-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none;}
.tdb-selects{display:flex;gap:10px;flex-wrap:wrap;}
.tdb-selects select{height:44px;padding:0 32px 0 12px;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;font:500 13.5px 'Inter','Segoe UI',sans-serif;color:#334155;cursor:pointer;outline:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;}
.tdb-selects select:focus{border-color:#a78bfa;}
.tdb-toggle{display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 14px;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;font:500 13.5px 'Inter','Segoe UI',sans-serif;color:#475569;cursor:pointer;user-select:none;}
.tdb-toggle input{accent-color:#7c3aed;width:15px;height:15px;cursor:pointer;}
.tdb-toggle.is-on{border-color:#c4b5fd;background:#faf7ff;color:#5b21b6;}
.tdb-reset{height:44px;padding:0 14px;border:none;background:none;color:#7c3aed;font:600 13.5px 'Inter',sans-serif;cursor:pointer;}
.tdb-reset:hover{text-decoration:underline;}
.tdb-count{margin-top:12px;font-size:13px;color:#64748b;}
.tdb-count strong{color:#0f172a;}

/* ── siatka kart ───────────────────────────────────────────── */
.tdb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;}
.tdb-card{display:block;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px 18px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s;cursor:pointer;}
.tdb-card:hover{border-color:#c4b5fd;box-shadow:0 6px 20px rgba(124,58,237,0.08);transform:translateY(-1px);}
.tdb-card h2{font:700 16px/1.3 'Inter','Segoe UI',sans-serif;margin:0 0 3px;color:#0f172a;}
.tdb-card .tdb-abbr{color:#5b21b6;}
.tdb-card .tdb-orig{font-size:12.5px;color:#94a3b8;font-style:italic;margin:0 0 8px;}
.tdb-card p.tdb-desc{font-size:13.2px;line-height:1.55;color:#475569;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.tdb-badges{display:flex;flex-wrap:wrap;gap:6px;}
.tdb-badge{display:inline-block;padding:3px 9px;border-radius:999px;background:#f1f5f9;color:#475569;font:600 11.5px 'Inter',sans-serif;}
.tdb-badge--cat{background:#ede9fe;color:#5b21b6;}
.tdb-badge--paid{background:#fef3c7;color:#92400e;}
.tdb-badge--free{background:#dcfce7;color:#166534;}
.tdb-badge--reg{background:#dbeafe;color:#1e40af;}
.tdb-badge--calc{background:#fae8ff;color:#86198f;}
.tdb-empty{background:#fff;border:1px dashed #e2e8f0;border-radius:14px;padding:38px 20px;text-align:center;color:#64748b;font-size:14px;}
.tdb-more{display:block;margin:20px auto 0;padding:11px 26px;border:1.5px solid #ddd6fe;border-radius:10px;background:#fff;color:#6d28d9;font:600 14px 'Inter',sans-serif;cursor:pointer;}
.tdb-more:hover{background:#faf7ff;}

/* ── panel szczegolow ──────────────────────────────────────── */
.tdb-row{display:flex;gap:14px;padding:7px 0;border-bottom:1px solid #f6f8fa;}
.tdb-row:last-child{border-bottom:none;}
.tdb-row .tdb-k{flex:0 0 190px;font:600 13px 'Inter',sans-serif;color:#64748b;}
.tdb-row .tdb-v{font-size:13.6px;color:#334155;line-height:1.6;}
.tdb-src{font-size:12.5px;word-break:break-all;}
.tdb-dim{color:#94a3b8;font-size:12.5px;}

/* ── bramka Clinical ───────────────────────────────────────── */
.tdb-locked{display:flex;gap:12px;align-items:flex-start;background:#faf7ff;border:1px solid #ddd6fe;border-radius:12px;padding:15px 17px;color:#5b21b6;}
.tdb-locked p{margin:4px 0 9px;font-size:13.2px;color:#6b5b95;}
.tdb-locked button{border:none;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border-radius:9px;padding:9px 18px;font:600 13.2px 'Inter',sans-serif;cursor:pointer;}
.tdb-locked button:hover{filter:brightness(1.06);}
.tdb-clinical{background:#f8f7ff;border:1px solid #e9e3ff;border-radius:12px;padding:15px 17px;}
.tdb-clinical .tdb-tag{display:inline-block;margin-bottom:9px;padding:3px 10px;border-radius:999px;background:#ede9fe;color:#5b21b6;font:700 11px 'Inter',sans-serif;letter-spacing:.04em;text-transform:uppercase;}
.tdb-calc{margin-top:12px;padding-top:12px;border-top:1px solid #e9e3ff;}
.tdb-calc-input{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:10px;}
.tdb-calc-input input{width:120px;height:38px;padding:0 11px;border:1.5px solid #e2e8f0;border-radius:9px;font:500 14px 'Inter',sans-serif;outline:none;}
.tdb-calc-input input:focus{border-color:#a78bfa;}
.tdb-calc-input button{height:38px;padding:0 16px;border:none;border-radius:9px;background:#7c3aed;color:#fff;font:600 13px 'Inter',sans-serif;cursor:pointer;}
.tdb-calc-out{font-size:13.6px;color:#334155;line-height:1.6;}
.tdb-calc-out strong{color:#5b21b6;}

.tdb-loading{padding:40px 20px;text-align:center;color:#94a3b8;font-size:14px;}

@media(max-width:640px){
  .tdb-wrap{padding:0 14px;margin-top:18px;}
  .tdb-head h1{font-size:23px;}
  .tdb-grid{grid-template-columns:1fr;}
  .tdb-selects{width:100%;}
  .tdb-selects select{flex:1 1 140px;}
  .tdb-row{flex-direction:column;gap:2px;}
  .tdb-row .tdb-k{flex:none;}
}

/* ── redesign panelu szczegolow (editorial layout) ─────────── */

/* hero */
.tdb-hero{display:flex;gap:28px;align-items:flex-start;margin:4px 0 26px;}
.tdb-hero-main{flex:1 1 auto;min-width:0;}
.tdb-chiprow{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px;}
.tdb-chip{display:inline-block;padding:4px 11px;border-radius:999px;font:600 11.5px 'Inter',sans-serif;background:#f1f5f9;color:#475569;}
.tdb-chip--abbr{background:#ede9fe;color:#6d28d9;}
.tdb-chip--cat{background:#f1f5f9;color:#475569;}
.tdb-chip--status{background:#ecfdf5;color:#047857;}
.tdb-hero-title{font:800 27px/1.2 'Inter','Segoe UI',sans-serif;letter-spacing:-0.02em;color:#0f172a;margin:0 0 5px;}
.tdb-hero-orig{font-size:14px;color:#94a3b8;font-style:italic;margin:0 0 12px;}
.tdb-hero-lead{font-size:14.8px;line-height:1.65;color:#475569;margin:0;max-width:640px;}
.tdb-preview{flex:0 0 300px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px;box-shadow:0 1px 4px rgba(15,23,42,0.05);box-sizing:border-box;}
.tdb-preview img{display:block;width:100%;border-radius:8px;}
.tdb-preview--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;min-height:170px;color:#94a3b8;padding:22px 18px;}
.tdb-preview--empty .tdb-ic{width:26px;height:26px;}
.tdb-preview--empty strong{font:600 13.5px 'Inter',sans-serif;color:#64748b;}
.tdb-preview--empty span{font-size:12px;line-height:1.5;}

/* uklad dwukolumnowy */
.tdb-layout{display:flex;gap:28px;align-items:flex-start;}
.tdb-main{flex:1 1 auto;min-width:0;max-width:780px;}
.tdb-side{flex:0 0 340px;position:sticky;top:24px;display:flex;flex-direction:column;gap:16px;}

/* sekcje glownej kolumny */
.tdb-sec:first-child .tdb-sec-h{margin-top:0;}
.tdb-sec-h .tdb-ic{color:#7c3aed;flex:none;}
.tdb-seccard{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 22px;box-shadow:0 1px 3px rgba(15,23,42,0.04);}
.tdb-seccard--callout{background:#f8faff;border-color:#dbe4f5;}
.tdb-seccard--warn{background:#fffbf3;border-color:#fcd34d;}
.tdb-seccard--plain{background:none;border:none;padding:0;box-shadow:none;}
.tdb-stack{padding:9px 0;border-bottom:1px solid #f1f5f9;}
.tdb-stack:last-child{border-bottom:none;}
.tdb-stack-k{font:600 13px 'Inter',sans-serif;color:#64748b;margin-bottom:3px;}
.tdb-stack-v{font-size:13.8px;line-height:1.65;color:#334155;}
.tdb-subchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
.tdb-subchip{display:inline-block;padding:7px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;font:500 12.8px 'Inter',sans-serif;color:#334155;}

/* karty badan / podobnych narzedzi / bibliografii / zrodel */
.tdb-rescard,.tdb-simcard{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;margin-bottom:10px;box-shadow:0 1px 3px rgba(15,23,42,0.04);}
.tdb-rescard:last-child,.tdb-simcard:last-child{margin-bottom:0;}
.tdb-rescard strong{display:block;font:600 13.8px 'Inter',sans-serif;color:#0f172a;margin-bottom:4px;}
.tdb-rescard p{margin:0 0 6px;}
.tdb-rescard p:last-child{margin-bottom:0;}
.tdb-sim-name{font:600 14px 'Inter',sans-serif;color:#6d28d9;text-decoration:none;}
.tdb-sim-name:hover{text-decoration:underline;}
.tdb-simcard p{margin:5px 0 0;}
.tdb-ref{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px 14px;margin-bottom:8px;font-size:13px;line-height:1.6;color:#475569;}
.tdb-ref:last-child{margin-bottom:0;}
.tdb-srcrow{display:flex;align-items:baseline;gap:9px;padding:7px 0;border-bottom:1px solid #f1f5f9;}
.tdb-srcrow:last-child{border-bottom:none;}
.tdb-typechip{flex:none;display:inline-block;padding:2px 9px;border-radius:999px;background:#f1f5f9;color:#64748b;font:600 11px 'Inter',sans-serif;}

/* sidebar */
.tdb-scard{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px;box-shadow:0 1px 3px rgba(15,23,42,0.04);}
.tdb-scard h4{display:flex;align-items:center;gap:7px;font:700 14px 'Inter',sans-serif;color:#0f172a;margin:0 0 10px;}
.tdb-scard h4 .tdb-ic{flex:none;}
.tdb-scard ul{margin:0 0 0 17px;padding:0;font-size:13.2px;line-height:1.7;color:#334155;}
.tdb-scard--good{background:#f0fdf4;border-color:#bbf7d0;}
.tdb-scard--good h4{color:#166534;}
.tdb-scard--warn{background:#fff7ed;border-color:#fed7aa;}
.tdb-scard--warn h4{color:#9a3412;}
.tdb-dimcard{background:#f8fafc;border:1px solid #eef2f7;border-radius:10px;padding:10px 12px;margin-bottom:8px;}
.tdb-dimcard:last-child{margin-bottom:0;}
.tdb-dimcard strong{font:600 13.2px 'Inter',sans-serif;color:#0f172a;}
.tdb-dimcard p{margin:3px 0 0;font-size:12.6px;line-height:1.55;color:#64748b;}

/* stopka panelu */
.tdb-foot{margin-top:30px;padding-top:16px;border-top:1px solid #e2e8f0;}

@media(max-width:1024px){
  .tdb-layout{flex-direction:column;}
  .tdb-side{position:static;flex:none;width:100%;}
  .tdb-hero{flex-direction:column;gap:16px;}
  .tdb-preview{flex:none;width:100%;max-width:340px;}
}
@media(max-width:640px){
  .tdb-hero-title{font-size:22px;}
  .tdb-seccard{padding:15px 16px;}
}

/* odstepy sekcji panelu - naglowki nie moga nachodzic na poprzednie karty */
.tdb-sec{margin-top:38px;}
.tdb-sec:first-child{margin-top:0;}
.tdb-side .tdb-scard{margin-bottom:18px;}

/* karty listy w stylu SN5: chip skrotu, badge platnosci, ucinana kategoria, PL/ENG, strzalka */
.tdb-card{display:flex;flex-direction:column;}
.tdb-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px;}
.tdb-card-top h2{font:700 15.5px/1.35 'Inter','Segoe UI',sans-serif;margin:0;color:#0f172a;}
.tdb-abbrchip{flex:none;padding:4px 11px;border-radius:999px;background:#e8eefc;color:#3b5bcc;font:700 12px 'Inter',sans-serif;white-space:nowrap;}
.tdb-card p.tdb-desc{flex:1;margin-bottom:12px;}
.tdb-badges{display:flex;align-items:center;flex-wrap:nowrap;gap:7px;overflow:hidden;}
.tdb-badge{flex:none;padding:4px 11px;border-radius:999px;background:#fff;border:1px solid #e2e8f0;color:#475569;font:600 11.5px 'Inter',sans-serif;white-space:nowrap;}
.tdb-badge--paid{background:#fef2f2;border-color:#fecaca;color:#b91c1c;}
.tdb-badge--free{background:#f0fdf4;border-color:#bbf7d0;color:#166534;}
.tdb-badge--reg{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;}
.tdb-badge--calc{background:#fae8ff;border-color:#f5d0fe;color:#86198f;}
.tdb-badge--catcut{flex:0 1 auto;max-width:170px;overflow:hidden;text-overflow:ellipsis;}
.tdb-langs{flex:none;display:inline-flex;gap:5px;padding-left:9px;border-left:1px solid #e2e8f0;}
.tdb-lang{padding:4px 10px;border-radius:999px;border:1.5px solid #93c5fd;background:#eff6ff;color:#1d4ed8;font:700 11px 'Inter',sans-serif;box-shadow:0 0 6px rgba(59,130,246,0.25);}
.tdb-arrow{margin-left:auto;flex:none;color:#94a3b8;display:inline-flex;}
.tdb-card:hover .tdb-arrow{color:#7c3aed;}

/* poprawki kart listy: chipy jezykowe bez poswiaty, kategoria prostokatna, przycisk reset */
.tdb-lang{box-shadow:none;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;min-width:46px;box-sizing:border-box;padding:4px 0;text-align:center;display:inline-block;line-height:1.25;font-weight:700;}
.tdb-badge--catcut{border-radius:7px;background:#e2e8f0;border-color:#cbd5e1;color:#1e293b;font-weight:600;}
.tdb-abbrchip{border-radius:7px;background:#e8eefc;color:#2947b8;}
.tdb-reset{border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;color:#475569;font-weight:600;padding:0 16px;}
.tdb-reset:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a;text-decoration:none;}

/* chip skrotu obok nazwy: ciemniejsze tlo; badge kategorii: bialy */
.tdb-abbrchip{background:#cbd5e1;color:#0f172a;}
.tdb-badge--catcut{background:#fff;border-color:#e2e8f0;color:#334155;}

/* chipy jezykowe: aktywna wersja niebieska, brakujaca szara */
.tdb-lang{border-color:#e2e8f0;background:#f8fafc;color:#94a3b8;}
.tdb-lang.is-on{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8;}

/* badge Paid/Free/PL/ENG - prostokatne, nie pigulki */
.tdb-badge{border-radius:7px;}
.tdb-lang{border-radius:7px;}

/* ── stopka serwisu: css/site-footer.css (wspolna ze stronami SEO) ── */

/* chip skrotu obok nazwy: delikatniejsze tlo */
.tdb-abbrchip{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0;}

/* ── naglowek editorial: pasmo hero, wyszukiwarka i filtry chipowe ── */
.tdb-band{background:linear-gradient(180deg,#fff 0%,#f8fafc 55%,#f1f5f9 100%);border-bottom:1px solid #eef2f7;}
.tdb-band__inner{max-width:1180px;margin:0 auto;padding:56px 24px 40px;text-align:center;}
.tdb-band__h1{font:800 46px/1.15 'Inter','Segoe UI',sans-serif;letter-spacing:-0.03em;color:#0f172a;margin:16px 0 16px;}
.tdb-band__lead{font-size:16px;line-height:1.7;color:#475569;max-width:700px;margin:0 auto;}
.tdb-band__note{font-size:13.5px;line-height:1.65;color:#64748b;max-width:700px;margin:14px auto 0;}
.tdb-band__lead a,.tdb-band__note a{color:#7c3aed;}

/* okruszki: ikona domu + chevron SVG, biezaca strona bez linku */
.tdb-crumb{display:inline-flex;align-items:center;gap:10px;font-family:'Inter','Segoe UI',sans-serif;}
.tdb-crumb a{display:inline-flex;align-items:center;color:#94a3b8;text-decoration:none;transition:color .15s;}
.tdb-crumb a:hover{color:#475569;text-decoration:none;}
.tdb-crumb__sep{flex:none;color:#cbd5e1;}
.tdb-crumb__cur{font-size:14px;font-weight:500;color:#334155;letter-spacing:normal;}

/* wyszukiwarka: jedno szerokie pole na tle strony */
.tdb-searchbar{max-width:640px;margin:0 auto 18px;}
.tdb-searchbar .tdb-search{flex:none;}
.tdb-searchbar .tdb-search input{height:52px;padding:0 18px 0 48px;border:1px solid #e2e8f0;border-radius:12px;font-size:15px;box-shadow:0 1px 2px rgba(15,23,42,0.04);}
.tdb-searchbar .tdb-search input:focus{border-color:#c4b5fd;box-shadow:0 0 0 4px rgba(167,139,250,0.16);}
.tdb-searchbar .tdb-search svg{left:17px;}

/* karta filtrow */
.tdb-controls{max-width:1040px;margin:0 auto 14px;padding:20px 24px;border-radius:16px;border-color:#e2e8f0;}
.tdb-frow{display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.tdb-frow--sep{margin-top:14px;padding-top:14px;border-top:1px solid #f1f5f9;}
.tdb-flabel{flex:none;font:700 11px 'Inter','Segoe UI',sans-serif;letter-spacing:.08em;color:#94a3b8;margin-right:4px;}
.tdb-chips{display:flex;flex-wrap:wrap;gap:8px;}
.tdb-fchip{padding:7px 14px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#475569;font:600 12.8px 'Inter','Segoe UI',sans-serif;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s,color .15s;}
.tdb-fchip:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a;}
.tdb-fchip.is-on{background:#1e293b;border-color:#1e293b;color:#fff;}
.tdb-fchip--free{background:#f0fdf4;border-color:#bbf7d0;color:#166534;}
.tdb-fchip--free:hover{background:#dcfce7;border-color:#86efac;color:#14532d;}
.tdb-fchip--free.is-on{background:#166534;border-color:#166534;color:#fff;}
.tdb-fchip--paid{background:#fef2f2;border-color:#fecaca;color:#b91c1c;}
.tdb-fchip--paid:hover{background:#fee2e2;border-color:#fca5a5;color:#991b1b;}
.tdb-fchip--paid.is-on{background:#b91c1c;border-color:#b91c1c;color:#fff;}
.tdb-fchip--reg{background:#fffbeb;border-color:#fde68a;color:#b45309;}
.tdb-fchip--reg:hover{background:#fef3c7;border-color:#fcd34d;color:#92400e;}
.tdb-fchip--reg.is-on{background:#b45309;border-color:#b45309;color:#fff;}
.tdb-fchip--unk{background:#f8fafc;border-color:#e2e8f0;color:#64748b;}
.tdb-fchip--unk:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155;}
.tdb-fchip--unk.is-on{background:#475569;border-color:#475569;color:#fff;}

/* licznik pod karta filtrow */
.tdb-count{margin:0 auto 20px;text-align:center;font-size:13.5px;color:#64748b;}

@media(max-width:760px){
  .tdb-band__inner{padding:34px 18px 28px;}
  .tdb-band__h1{font-size:30px;margin:12px 0 12px;}
  .tdb-band__lead{font-size:15px;}
  .tdb-band__note{font-size:13px;}
  .tdb-searchbar .tdb-search input{height:48px;padding-left:44px;}
  .tdb-controls{padding:16px 14px;border-radius:14px;}
  .tdb-flabel{width:100%;margin:0 0 2px;}
}

/* ── animacja wejscia ─────────────────────────────────────── */
@keyframes tdbFadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
/* fill-mode backwards, nie both: po zakonczeniu element wraca do wlasnych stylow,
   inaczej utrwalone transform:none z klatki koncowej blokuje hover kart. */
.tdb-crumb,.tdb-band__h1,.tdb-band__lead,.tdb-band__note,.tdb-searchbar,.tdb-controls,.tdb-card.tdb-anim{animation:tdbFadeUp .55s cubic-bezier(.22,.61,.36,1) backwards;}
.tdb-crumb{animation-delay:.02s;}
.tdb-band__h1{animation-delay:.08s;}
.tdb-band__lead{animation-delay:.16s;}
.tdb-band__note{animation-delay:.24s;}
.tdb-searchbar{animation-delay:.32s;}
.tdb-controls{animation-delay:.40s;}
@media(prefers-reduced-motion:reduce){
  .tdb-crumb,.tdb-band__h1,.tdb-band__lead,.tdb-band__note,.tdb-searchbar,.tdb-controls,.tdb-card.tdb-anim{animation:none;opacity:1;}
}

/* delikatna siatka w tle pasa naglowka */
.tdb-band{position:relative;overflow:hidden;}
.tdb-band::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(to right,rgba(148,163,184,0.16) 1px,transparent 1px),
                   linear-gradient(to bottom,rgba(148,163,184,0.16) 1px,transparent 1px);
  background-size:54px 54px;
  -webkit-mask-image:radial-gradient(ellipse 78% 68% at 50% 42%,#000 18%,rgba(0,0,0,0.35) 55%,transparent 82%);
  mask-image:radial-gradient(ellipse 78% 68% at 50% 42%,#000 18%,rgba(0,0,0,0.35) 55%,transparent 82%);
}
.tdb-band > *{position:relative;z-index:1;}
@media (max-width:760px){.tdb-band::before{background-size:38px 38px;}}

/* selecty filtrow obok wyszukiwarki */
.tdb-searchbar{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;max-width:1040px;}
.tdb-searchbar .tdb-search{flex:1 1 380px;max-width:560px;}
.tdb-filtersel{height:52px;padding:0 34px 0 14px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;font:500 14px 'Inter','Segoe UI',sans-serif;color:#334155;cursor:pointer;outline:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;max-width:230px;}
.tdb-filtersel:focus{border-color:#a78bfa;box-shadow:0 0 0 3px rgba(167,139,250,0.15);}
@media (max-width:760px){.tdb-filtersel{flex:1 1 46%;max-width:none;height:46px;}}

/* dlugi skrot nie moze sciskac tytulu karty */
.tdb-card-top h2{min-width:0;overflow-wrap:anywhere;}
.tdb-abbrchip{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* siatka slabsza + rozjasnienie pod tekstem, zeby napisy sie nie zlewaly */
.tdb-band::before{
  background-image:linear-gradient(to right,rgba(148,163,184,0.11) 1px,transparent 1px),
                   linear-gradient(to bottom,rgba(148,163,184,0.11) 1px,transparent 1px);
  -webkit-mask-image:none;mask-image:none;
}
.tdb-band::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 56% 72% at 50% 48%,rgba(255,255,255,0.97) 0%,rgba(255,255,255,0.9) 42%,rgba(255,255,255,0) 78%);
}

/* breadcrumb do lewej, reszta naglowka wysrodkowana */
.tdb-band .tdb-crumb{display:flex;justify-content:flex-start;max-width:1180px;margin:0 auto 26px;padding:0 24px;width:100%;}

/* panel: szersza tresc (mniej pustki po bokach) */
.tdb-main{max-width:none;}

/* opisy zaczynaja sie wielka litera (dane bywaja pisane malymi) */
.tdb-hero-lead::first-letter,
.tdb-card p.tdb-desc::first-letter{text-transform:uppercase;}

/* karty katalogu w jednym rozmiarze: tytul 3 linie, opis 3 linie, badge zawsze
   przy dole. Dluzszy tekst ucinany wielokropkiem, pelna tresc w tooltipie. */
.tdb-card{height:100%;box-sizing:border-box;position:relative;}
/* dymek z opisem musi byc nad sasiednimi kartami – bez tego kolejne karty
   w DOM rysuja sie na wierzchu */
.tdb-card:hover{z-index:40;}
/* tytul startuje od jednej linii i rosnie do trzech, opis dopasowuje sie w dol */
.tdb-card-top h2{
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  overflow:hidden;text-overflow:ellipsis;
}
.tdb-card p.tdb-desc{flex:1 1 auto;-webkit-line-clamp:3;text-overflow:ellipsis;}
.tdb-card .tdb-badges{margin-top:auto;}

/* dymek z pelnym opisem – tylko dla kart, ktorym tekst nie zmiescil sie w kadrze */
.tdb-card p.tdb-desc[data-full]::after{
  content:attr(data-full);
  position:absolute;left:12px;right:12px;top:auto;z-index:30;
  padding:12px 14px;border:1px solid #ddd6fe;border-radius:12px;background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,0.16);
  font:400 13.2px/1.6 'Inter','Segoe UI',sans-serif;color:#334155;
  opacity:0;visibility:hidden;transition:opacity .12s ease;pointer-events:none;
}
.tdb-card:hover p.tdb-desc[data-full]::after{opacity:1;visibility:visible;}

/* brak danej wersji kwestionariusza: chip wyszarzony i przekreslony */
.tdb-lang.is-off{border-color:#e2e8f0;background:#f8fafc;color:#94a3b8;text-decoration:line-through;box-shadow:none;}

/* separator za chipem dostepnosci; jezyki zawsze przy prawej krawedzi */
.tdb-vsep{flex:none;align-self:stretch;width:1px;margin:1px 2px;background:#e2e8f0;}
.tdb-badges .tdb-langs{margin-left:auto;}
.tdb-badges .tdb-arrow{margin-left:9px;}

/* ═══ panel szczegolow: rytm, hierarchia, karty ══════════════════════════
   Skala pionowa: 44 px miedzy sekcjami, 14 px naglowek->karta,
   22/24 px padding karty, 11 px rytm wiersza specyfikacji. */

/* hero */
.tdb-hero{margin:2px 0 34px;gap:32px;}
.tdb-hero-title{font-size:29px;line-height:1.18;letter-spacing:-0.025em;margin:0 0 6px;}
.tdb-hero-orig{font-size:14.5px;margin:0 0 14px;}
.tdb-hero-lead{font-size:15.2px;line-height:1.7;color:#475569;max-width:66ch;}
.tdb-chiprow{gap:8px;margin-bottom:14px;}
.tdb-chip{border-radius:7px;padding:4px 10px;font:600 11.5px 'Inter',sans-serif;letter-spacing:.01em;border:1px solid transparent;line-height:1.35;}
.tdb-chip--abbr{background:#ede9fe;border-color:#ddd6fe;color:#5b21b6;}
.tdb-chip--cat{background:#fff;border-color:#e2e8f0;color:#475569;}
.tdb-chip--status{background:#f8fafc;border-color:#e2e8f0;color:#64748b;}
.tdb-preview{border-radius:16px;padding:12px;box-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.05);}
.tdb-preview img{border-radius:10px;}

/* naglowek sekcji: ikona w kaflu, tytul optycznie wyrownany do srodka kafla */
.tdb-sec{margin-top:44px;}
.tdb-sec:first-child{margin-top:0;}
.tdb-sec-ic{flex:none;width:32px;height:32px;border-radius:10px;background:#f5f3ff;border:1px solid #ece7fd;color:#7c3aed;display:inline-flex;align-items:center;justify-content:center;}
.tdb-sec-ic .tdb-ic{width:16px;height:16px;}

/* karta sekcji */
.tdb-seccard{border:1px solid #e8edf3;border-radius:16px;padding:20px 24px;box-shadow:0 1px 2px rgba(15,23,42,.04);}
.tdb-seccard--plain{background:none;border:none;padding:0;box-shadow:none;}
.tdb-seccard--callout{background:#faf8ff;border-color:#eae3fb;box-shadow:inset 3px 0 0 #c4b5fd;padding-left:24px;}
.tdb-seccard--warn{background:#fffbf4;border-color:#fbe3c2;box-shadow:inset 3px 0 0 #f59e0b;padding-left:24px;}
.tdb-seccard > p{font-size:14.2px;line-height:1.72;color:#334155;margin:0 0 12px;max-width:72ch;}
.tdb-seccard > p:last-child{margin-bottom:0;}
/* etykieta podsekcji wewnatrz karty (Wersje / Podskale) */
.tdb-seccard > h4{font:700 11px 'Inter',sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#94a3b8;margin:20px 0 9px;}
.tdb-seccard > h4:first-child{margin-top:0;}

/* wiersz specyfikacji: staly slup etykiet, delikatny separator */
.tdb-stack-k{font:500 13px/1.55 'Inter',sans-serif;color:#64748b;margin-bottom:4px;}
.tdb-stack-v{font-size:14px;line-height:1.7;color:#334155;max-width:70ch;}

/* listy wypunktowane – wlasny znacznik, zeby kolor szedl za wariantem karty */
.tdb-seccard--warn .tdb-list li::before{background:#f59e0b;}
.tdb-scard--good .tdb-list li::before{background:#22c55e;}
.tdb-scard--warn .tdb-list li::before{background:#f97316;}

/* chipy podskal */
.tdb-subchips{gap:8px;margin-top:2px;}
.tdb-subchip{border-radius:10px;padding:8px 13px;background:#fbfcfe;border-color:#e8edf3;font-size:12.8px;color:#334155;line-height:1.4;}
.tdb-subchip .tdb-dim{font-size:11.6px;color:#94a3b8;}

/* karty badan: tytul, tresc, linia zrodla */
.tdb-rescard{border:1px solid #e8edf3;border-radius:14px;padding:16px 18px;margin-bottom:12px;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:border-color .15s,box-shadow .15s;}
.tdb-rescard:hover{border-color:#ddd6fe;box-shadow:0 4px 16px rgba(124,58,237,.07);}
.tdb-rescard strong{display:block;font:600 14.4px/1.45 'Inter',sans-serif;letter-spacing:-0.005em;color:#0f172a;margin-bottom:7px;}
.tdb-rescard p{font-size:13.9px;line-height:1.68;color:#475569;margin:0 0 10px;}
.tdb-rescard p:last-child{margin-bottom:0;}
.tdb-rescard .tdb-srcline{margin:12px 0 0;padding-top:10px;border-top:1px solid #f1f5f9;}
.tdb-srclink{display:inline-flex;align-items:center;gap:5px;font:600 12.2px 'Inter',sans-serif;color:#6d28d9;text-decoration:none;}
.tdb-srclink:hover{text-decoration:underline;}
.tdb-ic--ext{width:12px;height:12px;flex:none;opacity:.75;}

/* karty podobnych narzedzi */
.tdb-simcard{border:1px solid #e8edf3;border-radius:14px;padding:15px 18px;margin-bottom:10px;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:border-color .15s,box-shadow .15s;}
.tdb-simcard:hover{border-color:#ddd6fe;box-shadow:0 4px 16px rgba(124,58,237,.07);}
.tdb-sim-name{display:inline-flex;align-items:center;gap:6px;font:600 14.4px/1.4 'Inter',sans-serif;color:#6d28d9;text-decoration:none;}
.tdb-ic--arrow{width:14px;height:14px;flex:none;transition:transform .15s;}
.tdb-simcard:hover .tdb-ic--arrow{transform:translateX(2px);}
.tdb-simcard p{margin:6px 0 0;font-size:13.9px;line-height:1.68;color:#475569;}

/* bibliografia i zrodla */
.tdb-ref{background:#fbfcfe;border-color:#eef2f7;border-radius:12px;padding:12px 16px;margin-bottom:9px;font-size:13px;line-height:1.7;color:#475569;}
.tdb-srcrow{align-items:flex-start;gap:10px;padding:9px 0;}
.tdb-typechip{padding:3px 10px;border-radius:7px;background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b;font:600 10.8px 'Inter',sans-serif;letter-spacing:.02em;line-height:1.5;}
.tdb-srcrow .tdb-src{font-size:12.6px;line-height:1.7;color:#6d28d9;}

/* ── sidebar ── */
.tdb-side{flex:0 0 336px;gap:16px;top:22px;max-height:calc(100vh - 44px);overflow-y:auto;overscroll-behavior:contain;padding-right:2px;}
.tdb-side .tdb-scard{margin-bottom:0;}
.tdb-scard{border:1px solid #e8edf3;border-radius:16px;padding:17px 19px;box-shadow:0 1px 2px rgba(15,23,42,.04);}
.tdb-scard h4{gap:9px;margin:0 0 13px;font:700 13.5px/1.35 'Inter',sans-serif;letter-spacing:-0.005em;}
.tdb-scard h4 .tdb-ic{width:27px;height:27px;padding:5.5px;border-radius:8px;background:#f5f3ff;border:1px solid #ece7fd;color:#7c3aed;box-sizing:border-box;}
.tdb-scard--good{border-color:#bbf7d0;}
.tdb-scard--good h4 .tdb-ic{background:#dcfce7;border-color:#bbf7d0;color:#15803d;}
.tdb-scard--warn{border-color:#fed7aa;}
.tdb-scard--warn h4 .tdb-ic{background:#ffedd5;border-color:#fed7aa;color:#c2410c;}
.tdb-scard .tdb-list li{font-size:13.4px;line-height:1.62;margin-bottom:8px;padding-left:18px;}
.tdb-scard--good .tdb-list li,.tdb-scard--warn .tdb-list li{color:#334155;}
.tdb-dimcard{background:#fbfcfe;border:1px solid #eef2f7;border-radius:11px;padding:11px 13px;margin-bottom:9px;}
.tdb-dimhead{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;}
.tdb-dimcard strong{font:600 13.2px/1.45 'Inter',sans-serif;color:#0f172a;}
.tdb-dimhead .tdb-dim{font-size:11.6px;font-weight:500;color:#94a3b8;}
.tdb-dimcard p{margin:5px 0 0;font-size:12.7px;line-height:1.6;color:#64748b;}

/* ── bramka Clinical: karta premium, nie komunikat bledu ── */
.tdb-locked{gap:15px;background:linear-gradient(135deg,#fbf9ff 0%,#f5f1ff 100%);border:1px solid #e4dbfb;border-radius:16px;padding:20px 22px;box-shadow:0 1px 2px rgba(109,40,217,.05);}
.tdb-lock-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:#fff;border:1px solid #e9e0fb;color:#7c3aed;box-shadow:0 1px 3px rgba(109,40,217,.09);}
.tdb-locked-body{min-width:0;}
.tdb-locked strong{display:block;font:700 15px/1.35 'Inter',sans-serif;letter-spacing:-0.01em;color:#4c1d95;}
.tdb-locked p{margin:6px 0 14px;font-size:13.4px;line-height:1.65;color:#6b5b95;max-width:56ch;}
.tdb-locked button{padding:10px 20px;border-radius:10px;font:600 13.4px 'Inter',sans-serif;box-shadow:0 2px 8px rgba(109,40,217,.2);transition:transform .15s,box-shadow .15s,filter .15s;}
.tdb-locked button:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(109,40,217,.26);}
.tdb-clinical{background:#fbfaff;border-color:#e9e3ff;border-radius:14px;padding:17px 19px;}
.tdb-clinical .tdb-tag{margin-bottom:11px;border-radius:7px;padding:4px 10px;}

/* stopka panelu */
.tdb-foot{margin-top:46px;padding-top:18px;border-top:1px solid #e2e8f0;}
.tdb-foot p{font-size:13.4px;line-height:1.65;margin:0 0 8px;}
.tdb-foot p:last-child{margin-bottom:0;}
.tdb-foot a{font-weight:600;text-decoration:none;}
.tdb-foot a:hover{text-decoration:underline;}

/* w sekcji Obliczanie wynikow nad kaflem stoi wiersz "Zakres wyniku" */

@media(max-width:1024px){
  .tdb-side{max-height:none;overflow:visible;flex:none;width:100%;}
  .tdb-hero{gap:18px;}
}
@media(max-width:640px){
  .tdb-hero{margin-bottom:26px;}
  .tdb-hero-title{font-size:22px;}
  .tdb-hero-lead{font-size:14.5px;}
  .tdb-sec{margin-top:34px;}
  .tdb-sec-ic{width:28px;height:28px;border-radius:9px;}
  .tdb-sec-ic .tdb-ic{width:15px;height:15px;}
  .tdb-seccard{padding:16px 17px;}
  .tdb-seccard--callout,.tdb-seccard--warn{padding-left:17px;}
  .tdb-locked{flex-direction:column;gap:12px;padding:17px 18px;}
  .tdb-foot{margin-top:34px;}
}

/* karty listy: hover jak w statystykana5 - baza ma juz cien, wiec na hover cien
   roznie a nie wyskakuje z zera; dluzsze 300ms na krzywej ease-out */
.tdb-card{
  border-color:#e2e8f0;
  border-radius:16px;
  box-shadow:0 1px 2px 0 rgba(16,26,51,.04),0 4px 16px -4px rgba(16,26,51,.08);
  transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}
.tdb-card:hover{
  transform:translateY(-4px);
  border-color:#c4b5fd;
  box-shadow:0 2px 4px 0 rgba(16,26,51,.06),0 12px 32px -8px rgba(76,29,149,.18);
}
.tdb-card:active{transform:translateY(-1px);transition-duration:.09s;}
.tdb-card-top h2{transition:color .3s cubic-bezier(.4,0,.2,1);}
.tdb-card:hover .tdb-card-top h2{color:#5b21b6;}
.tdb-arrow{transition:transform .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);}
.tdb-card:hover .tdb-arrow{transform:translateX(3px);}
@media(prefers-reduced-motion:reduce){
  .tdb-card,.tdb-arrow,.tdb-card-top h2{transition-duration:.01ms;}
  .tdb-card:hover{transform:none;}
}
