
/* =========================================================
   BAZA WIEDZY — PREMIUM GLASS
   ========================================================= */

.sp-knowledge-v2-body {
    --kb-ink:#0d2d45;
    --kb-text:#587086;
    --kb-blue:#147fe1;
    --kb-cyan:#0ab6c8;
    --kb-violet:#7c55f2;
    --kb-pink:#e84ba8;
    --kb-line:rgba(53,101,135,.14);
    background:#f8fbfe;
}
.sp-knowledge-v2-body .sp-main { overflow:hidden; }
.sp-kb2 { color:var(--kb-ink);background:#f8fbfe; }
.sp-kb2 * { box-sizing:border-box; }
.sp-kb2 a { text-decoration:none; }
.sp-kb2 h1,.sp-kb2 h2,.sp-kb2 h3,.sp-kb2 p { margin-top:0; }

/* HERO */
.sp-kb2-hero {
    position:relative;overflow:hidden;padding:64px 0 48px;
    background:
        radial-gradient(circle at 79% 28%,rgba(68,184,255,.16),transparent 25%),
        radial-gradient(circle at 98% 48%,rgba(188,75,239,.14),transparent 25%),
        linear-gradient(115deg,#fff 0%,#fbfdff 58%,#eef9ff 100%);
    border-bottom:1px solid var(--kb-line);
}
.sp-kb2-hero__grid-bg {
    position:absolute;inset:0;pointer-events:none;opacity:.45;
    background-image:
        linear-gradient(rgba(49,105,143,.045) 1px,transparent 1px),
        linear-gradient(90deg,rgba(49,105,143,.045) 1px,transparent 1px);
    background-size:42px 42px;
    mask-image:linear-gradient(90deg,transparent 5%,#000 45%,#000);
}
.sp-kb2-hero__orb { position:absolute;border-radius:50%;filter:blur(76px);pointer-events:none; }
.sp-kb2-hero__orb--cyan { width:320px;height:320px;right:31%;top:34px;background:rgba(39,196,255,.15); }
.sp-kb2-hero__orb--violet { width:370px;height:370px;right:-100px;top:90px;background:rgba(197,78,239,.15); }
.sp-kb2-hero__grid {
    position:relative;z-index:2;display:grid;grid-template-columns:minmax(420px,.9fr) minmax(570px,1.1fr);
    gap:50px;align-items:center;
}
.sp-kb2-badge {
    width:max-content;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:20px;
    border:1px solid rgba(49,137,183,.2);border-radius:9px;background:rgba(255,255,255,.72);
    backdrop-filter:blur(12px);box-shadow:0 8px 22px rgba(35,78,108,.055);color:#087f94;
    font-size:9px;letter-spacing:.05em;
}
.sp-kb2-hero h1 {
    margin:0;max-width:790px;font-size:clamp(52px,4.35vw,73px);line-height:1.02;letter-spacing:-.048em;color:var(--kb-ink);
}
.sp-kb2-hero h1 em {
    font-style:normal;background:linear-gradient(90deg,#0aafbd,#147fe1 55%,#a93add);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.sp-kb2-hero__copy > p { max-width:650px;margin:23px 0 0;color:var(--kb-text);font-size:14px;line-height:1.7; }
.sp-kb2-hero__meta { display:flex;gap:8px;flex-wrap:wrap;margin-top:21px; }
.sp-kb2-hero__meta span {
    padding:6px 9px;border:1px solid #d7e4ea;border-radius:999px;background:rgba(255,255,255,.72);
    color:#667e91;font-size:9px;font-weight:800;
}

/* SEARCH GLASS */
.sp-kb2-searchbox {
    position:relative;overflow:hidden;min-height:370px;border:1px solid rgba(255,255,255,.88);border-radius:22px;
    background:linear-gradient(145deg,rgba(255,255,255,.79),rgba(243,249,255,.63));
    backdrop-filter:blur(19px);box-shadow:0 28px 60px rgba(36,76,107,.14);
}
.sp-kb2-searchbox__top {
    min-height:55px;display:flex;align-items:center;justify-content:space-between;padding:0 19px;
    border-bottom:1px solid rgba(78,120,149,.12);
}
.sp-kb2-searchbox__top > div { display:flex;align-items:center;gap:9px; }
.sp-kb2-searchbox__dot { width:8px;height:8px;border-radius:50%;background:#13b7c8;box-shadow:0 0 0 6px rgba(19,183,200,.09); }
.sp-kb2-searchbox__top strong { font-size:9px;letter-spacing:.1em; }
.sp-kb2-searchbox__top small { color:#8999a5;font-size:7px;font-weight:900;letter-spacing:.12em; }
.sp-kb2-searchbox__content { padding:30px 28px 24px; }
.sp-kb2-searchbox__content h2 { max-width:490px;margin:7px 0 20px;font-size:31px;line-height:1.05;letter-spacing:-.04em; }
.sp-kb2-search { display:grid;grid-template-columns:1fr auto;gap:9px; }
.sp-kb2-search__field {
    min-height:50px;display:grid;grid-template-columns:22px 1fr;gap:9px;align-items:center;padding:0 14px;
    border:1px solid #cfdee7;border-radius:12px;background:rgba(255,255,255,.86);box-shadow:inset 0 1px 0 #fff;
}
.sp-kb2-search__field svg { width:19px;height:19px;stroke:#4387b5;stroke-width:1.7; }
.sp-kb2-search__field input {
    width:100%;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;
    color:#17374e;font-size:11px!important;padding:0!important;
}
.sp-kb2-search button {
    min-height:50px;padding:0 18px;border:0;border-radius:12px;color:#fff;font-size:10px;font-weight:900;cursor:pointer;
    background:linear-gradient(90deg,#0db1c3,#287ddd 55%,#a23ce1);box-shadow:0 10px 22px rgba(83,93,203,.18);
}
.sp-kb2-searchbox__note { display:block;margin-top:8px;color:#7b8e9d;font-size:8px; }
.sp-kb2-searchbox__quick {
    display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:15px 19px;border-top:1px solid rgba(78,120,149,.1);
    background:rgba(255,255,255,.28);
}
.sp-kb2-searchbox__quick span { color:#718697;font-size:8px; }
.sp-kb2-searchbox__quick b {
    padding:5px 7px;border:1px solid #d4e3e9;border-radius:999px;background:#fff;color:#0b8fa5;font-size:7.5px;
}

/* SECTION HEAD */
.sp-kb2-section-head {
    display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:55px;align-items:end;margin-bottom:22px;
}
.sp-kb2-section-head h2 {
    max-width:760px;margin:0;color:var(--kb-ink);font-size:clamp(34px,3vw,50px);line-height:1;letter-spacing:-.045em;
}
.sp-kb2-section-head > p { margin:0;color:#6d8395;font-size:11px;line-height:1.65; }

/* TOPICS — compact */
.sp-kb2-topics { padding:46px 0 38px;background:linear-gradient(180deg,#f8fbfe,#fff); }
.sp-kb2-topics__grid {
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;
}
.sp-kb2-topic,
.sp-kb2-topic--feature,
.sp-kb2-topic:nth-child(4) {
    position:relative;overflow:hidden;min-height:188px;padding:19px;
    grid-column:auto;
    border:1px solid var(--kb-line);border-radius:17px;
    background:rgba(255,255,255,.8);box-shadow:0 10px 26px rgba(36,76,107,.045);
}
.sp-kb2-topic--feature {
    background:linear-gradient(145deg,#eff9ff,#fff);
}
.sp-kb2-topic--pink { background:linear-gradient(145deg,#fff6f9,#fff); }
.sp-kb2-topic--violet { background:linear-gradient(145deg,#f8f5ff,#fff); }
.sp-kb2-topic--mint { background:linear-gradient(145deg,#f2fbf7,#fff); }
.sp-kb2-topic__number {
    position:absolute;right:15px;top:14px;color:#8295a4;font-size:7.5px;font-weight:900;letter-spacing:.09em;
}
.sp-kb2-topic__icon {
    width:41px;height:41px;display:grid;place-items:center;margin-bottom:13px;border-radius:13px;
    color:#1688df;background:rgba(255,255,255,.88);border:1px solid rgba(154,202,228,.65);
}
.sp-kb2-topic__icon svg { width:20px;height:20px;stroke:currentColor;stroke-width:1.7; }
.sp-kb2-topic h3,
.sp-kb2-topic--feature h3 {
    margin:0 0 7px;font-size:18px;line-height:1.08;letter-spacing:-.025em;
}
.sp-kb2-topic p:not(.spv2g-kicker),
.sp-kb2-topic--feature p:not(.spv2g-kicker) {
    max-width:none;margin:0;color:#6b8193;font-size:9.3px;line-height:1.48;
}
.sp-kb2-topic > i {
    position:absolute;right:15px;bottom:7px;color:rgba(49,82,109,.035);font-style:normal;font-size:33px;font-weight:900;
}

/* POSTS — równy premium grid */
.sp-kb2-posts {
    padding:42px 0 52px;
    background:#fff;
}
.sp-kb2-posts__head {
    display:flex;justify-content:space-between;gap:30px;align-items:end;
    margin-bottom:19px;
}
.sp-kb2-posts__head h2 {
    margin:0;
    font-size:clamp(32px,2.7vw,45px);
    line-height:1.02;
    letter-spacing:-.042em;
}
.sp-kb2-posts__reset {
    padding:8px 11px;
    border:1px solid #d2e1e8;
    border-radius:9px;
    color:#1179c7;
    font-size:9px;
    font-weight:900;
    background:#fff;
}

.sp-kb2-posts__grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    align-items:stretch;
}

.sp-kb2-card {
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    min-height:100%;
    padding:12px;
    overflow:hidden;
    border:1px solid rgba(67,103,132,.14);
    border-radius:20px;
    background:
        radial-gradient(circle at 92% 8%,rgba(88,111,234,.045),transparent 25%),
        rgba(255,255,255,.92);
    box-shadow:
        0 14px 34px rgba(25,63,92,.06),
        inset 0 1px 0 rgba(255,255,255,.95);
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}
.sp-kb2-card::before {
    content:"";
    position:absolute;
    left:20px;
    right:20px;
    top:0;
    height:2px;
    border-radius:0 0 999px 999px;
    background:linear-gradient(90deg,#0eb8c8,#2f83e7,#9f42df);
    opacity:.48;
}
.sp-kb2-card:nth-child(2n)::before {
    background:linear-gradient(90deg,#2f83e7,#7c55f2,#e84ba8);
}
.sp-kb2-card:nth-child(3n)::before {
    background:linear-gradient(90deg,#0ab6c8,#3e91e8,#7c55f2);
}
.sp-kb2-card:hover {
    transform:translateY(-4px);
    border-color:rgba(67,103,132,.22);
    box-shadow:
        0 20px 44px rgba(25,63,92,.09),
        inset 0 1px 0 rgba(255,255,255,.95);
}

.sp-kb2-card__image {
    position:relative;
    display:block;
    width:100%;
    aspect-ratio:16 / 10;
    overflow:hidden;
    border-radius:14px;
    background:#eef5f8;
}
.sp-kb2-card__image::after {
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:28%;
    pointer-events:none;
    background:linear-gradient(180deg,transparent,rgba(9,42,69,.055));
}
.sp-kb2-card__image img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transition:transform .35s ease;
}
.sp-kb2-card:hover .sp-kb2-card__image img {
    transform:scale(1.025);
}

.sp-kb2-card__placeholder {
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    align-content:center;
    gap:4px;
    background:
        radial-gradient(circle at 72% 28%,rgba(117,89,255,.12),transparent 24%),
        linear-gradient(145deg,#eaf8fc,#f7f6ff);
}
.sp-kb2-card__placeholder b {
    font-size:31px;
    letter-spacing:-.07em;
    color:#168cb8;
}
.sp-kb2-card__placeholder small {
    font-size:6.5px;
    letter-spacing:.16em;
    color:#7f91a0;
    font-weight:900;
}

.sp-kb2-card__content {
    display:flex;
    flex-direction:column;
    flex:1;
    padding:16px 6px 5px;
}
.sp-kb2-card__topline {
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:center;
    margin-bottom:10px;
}
.sp-kb2-card__topline span {
    display:inline-flex;
    width:max-content;
    padding:5px 7px;
    border:1px solid rgba(18,150,170,.16);
    border-radius:999px;
    background:rgba(235,250,251,.75);
    color:#07899f;
    font-size:7.3px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.sp-kb2-card__topline b {
    color:#96a6b1;
    font-size:7.5px;
}
.sp-kb2-card h3 {
    margin:0 0 8px;
    font-size:18px;
    line-height:1.12;
    letter-spacing:-.026em;
}
.sp-kb2-card h3 a {
    color:var(--kb-ink);
}
.sp-kb2-card p {
    margin:0;
    color:#6b8193;
    font-size:9px;
    line-height:1.52;
}
.sp-kb2-card__more {
    display:inline-flex;
    align-items:center;
    gap:5px;
    width:max-content;
    margin-top:auto;
    padding-top:16px;
    color:#1473cf;
    font-size:8.8px;
    font-weight:900;
}
.sp-kb2-card__more span {
    color:#8c4be5;
}

/* paginacja / pusty stan */
.sp-kb2-pagination { margin-top:25px; }
.sp-kb2-pagination .page-numbers {
    list-style:none;
    display:flex;
    gap:6px;
    justify-content:center;
    margin:0;
    padding:0;
}
.sp-kb2-pagination a,
.sp-kb2-pagination span {
    min-width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border:1px solid #d3e2e8;
    border-radius:9px;
    background:#fff;
    color:#246d9f;
    font-size:9px;
    font-weight:900;
}
.sp-kb2-pagination .current {
    color:#fff;
    border-color:transparent;
    background:linear-gradient(135deg,#0bb1c4,#456fe5,#a340df);
}
.sp-kb2-empty {
    display:grid;
    grid-template-columns:54px 1fr;
    gap:15px;
    align-items:center;
    padding:24px;
    border:1px solid var(--kb-line);
    border-radius:17px;
    background:linear-gradient(145deg,#f2faff,#fff);
}
.sp-kb2-empty > span {
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff;
    border:1px solid #cfe1e9;
    color:#1486ca;
    font-weight:900;
}
.sp-kb2-empty h3 { margin:0 0 4px;font-size:18px; }
.sp-kb2-empty p { margin:0;color:#708697;font-size:10px; }

/* BOUNDARY */
.sp-kb2-boundary { padding:0 0 28px;background:#fff; }
.sp-kb2-boundary__panel {
    display:grid;grid-template-columns:minmax(0,1fr) auto;gap:35px;align-items:center;padding:26px 29px;border-radius:18px;color:#fff;
    background:
        radial-gradient(circle at 85% 15%,rgba(117,89,255,.28),transparent 26%),
        linear-gradient(105deg,#072955 0%,#083a7c 52%,#0d58b9 100%);
    box-shadow:0 20px 45px rgba(10,48,92,.18);
}
.sp-kb2-boundary h2 { max-width:840px;margin:0 0 7px;color:#fff;font-size:30px;line-height:1.07;letter-spacing:-.035em; }
.sp-kb2-boundary p:last-child { max-width:830px;margin:0;color:#d6e7f5;font-size:9.5px;line-height:1.55; }

/* RESPONSIVE */
@media(max-width:1150px){
    .sp-kb2-hero__grid { grid-template-columns:1fr; }
    .sp-kb2-searchbox { min-height:0; }
    .sp-kb2-topics__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .sp-kb2-posts__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px){
    .sp-kb2-section-head { grid-template-columns:1fr;gap:12px; }
    .sp-kb2-boundary__panel { grid-template-columns:1fr; }
}
@media(max-width:650px){
    .sp-kb2-hero { padding-top:40px; }
    .sp-kb2-hero h1 {
        font-size:clamp(42px,12vw,58px);
        line-height:1.03;
        letter-spacing:-.045em;
    }

    .sp-kb2-searchbox__content { padding:23px 17px 20px; }
    .sp-kb2-searchbox__content h2 { font-size:27px; }
    .sp-kb2-search { grid-template-columns:1fr; }
    .sp-kb2-search button { width:100%; }

    .sp-kb2-topics__grid { grid-template-columns:1fr; }
    .sp-kb2-topic,
    .sp-kb2-topic--feature,
    .sp-kb2-topic:nth-child(4) {
        grid-column:auto!important;
        min-height:0;
        padding:18px;
    }

    .sp-kb2-posts__head { display:block; }
    .sp-kb2-posts__reset { display:inline-flex;margin-top:12px; }
    .sp-kb2-posts__grid { grid-template-columns:1fr; }

    .sp-kb2-card {
        padding:10px;
        border-radius:18px;
    }
    .sp-kb2-card__image {
        aspect-ratio:16 / 10;
        border-radius:12px;
    }
    .sp-kb2-card__content {
        padding:15px 5px 5px;
    }
    .sp-kb2-card h3 {
        font-size:19px;
    }

    .sp-kb2-boundary__panel { padding:21px 18px; }
    .sp-kb2-boundary h2 { font-size:27px; }
    .sp-kb2-boundary .spv2g-btn { width:100%; }
}
