/* SFXM Enterprise 4.0.0 — bezpieczna warstwa UX, wydajności i responsywności */
:root{--sfxm-focus:3px solid #7fb0ff;--sfxm-control-bg:rgba(255,255,255,.055);--sfxm-control-border:rgba(255,255,255,.16)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:var(--sfxm-focus);outline-offset:3px}
img,svg,video,iframe{max-width:100%;height:auto}
.knowledge-discovery{display:grid;gap:1rem;margin:0 0 clamp(2rem,4vw,3.5rem);padding:clamp(1rem,2.5vw,1.5rem);border:1px solid var(--sfxm-control-border);background:var(--sfxm-control-bg);border-radius:18px}
.knowledge-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem}
.knowledge-search input{min-width:0;width:100%;min-height:50px;padding:.75rem 1rem;border:1px solid var(--sfxm-control-border);border-radius:12px;background:rgba(4,17,36,.74);color:#fff;font:inherit}
.knowledge-search input::placeholder{color:rgba(255,255,255,.62)}
.knowledge-search button{min-height:50px;padding:.75rem 1.2rem;border:0;border-radius:12px;background:#2676ff;color:#fff;font:700 .92rem/1.1 inherit;cursor:pointer}
.knowledge-filters{display:flex;flex-wrap:wrap;gap:.55rem}
.knowledge-filters a{display:inline-flex;align-items:center;min-height:38px;padding:.52rem .82rem;border:1px solid var(--sfxm-control-border);border-radius:999px;color:rgba(255,255,255,.83);text-decoration:none;font-size:.86rem;line-height:1.15}
.knowledge-filters a:hover,.knowledge-filters a.is-active{border-color:rgba(38,118,255,.78);background:rgba(38,118,255,.16);color:#fff}
.knowledge-card,.featured-article,.article-related article{content-visibility:auto;contain-intrinsic-size:1px 520px}
.prose :where(p,li){text-wrap:pretty}.prose :where(h2,h3){text-wrap:balance;scroll-margin-top:110px}
@media(max-width:700px){.knowledge-search{grid-template-columns:1fr}.knowledge-search button{width:100%}.knowledge-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.3rem;scrollbar-width:thin}.knowledge-filters a{flex:0 0 auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.knowledge-card,.featured-article,.article-related article{content-visibility:visible}}
@media print{.knowledge-discovery{display:none!important}}

/* SFXM 5.1.0 — micro-CTA Specjalizacje */
.service-list-with-cta .specialization-card{display:flex;flex-direction:column}
.specialization-cta{margin-top:auto;padding-top:18px}
.specialization-cta-link{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:10px 13px;border:1px solid rgba(41,128,185,.42);border-radius:9px;color:#1B365D;background:transparent;font-weight:700;line-height:1.35;text-decoration:none;transition:.2s ease}
.specialization-cta-link:hover,.specialization-cta-link:focus-visible{border-color:#2980B9;background:rgba(41,128,185,.08);color:#143258;transform:translateY(-1px)}
.specialization-cta-link:focus-visible{outline:3px solid rgba(41,128,185,.22);outline-offset:3px}
.specialization-cta small{display:block;margin-top:9px;color:rgba(27,54,93,.68);font-size:.82rem;line-height:1.5}
@media(max-width:720px){.specialization-cta-link{width:100%;justify-content:space-between;box-sizing:border-box}}


/* SFXM 5.3.0 — premium Knowledge Hub cards */
.specialization-knowledge-card {
    margin-top: 18px;
}

.specialization-knowledge-card > a {
    position: relative;
    display: block;
    min-height: 146px;
    padding: 18px 20px 18px 22px;
    overflow: hidden;
    border: 1px solid #d9e6ff;
    border-radius: 0;
    background:
        linear-gradient(135deg, rgba(38, 118, 255, .055), rgba(255, 255, 255, .88)),
        #f5f9ff;
    color: #1b365d;
    text-decoration: none;
    box-shadow: none;
    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease,
        background-color .22s ease;
}

.specialization-knowledge-card > a::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: #2676ff;
    transition: width .22s ease;
}

.specialization-knowledge-card > a:hover,
.specialization-knowledge-card > a:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(38, 118, 255, .48);
    background:
        linear-gradient(135deg, rgba(38, 118, 255, .085), rgba(255, 255, 255, .94)),
        #f5f9ff;
    box-shadow: 0 8px 20px rgba(27, 54, 93, .08);
}

.specialization-knowledge-card > a:hover::before,
.specialization-knowledge-card > a:focus-visible::before {
    width: 5px;
}

.specialization-knowledge-card > a:focus-visible {
    outline: 3px solid rgba(38, 118, 255, .24);
    outline-offset: 4px;
}

.specialization-knowledge-card__eyebrow,
.specialization-knowledge-card__title,
.specialization-knowledge-card__meta,
.specialization-knowledge-card__link {
    display: block;
}

.specialization-knowledge-card__eyebrow {
    margin-bottom: 10px;
    color: #2676ff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .15em;
}

.specialization-knowledge-card__title {
    max-width: 94%;
    color: #0a1726;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.35;
}

.specialization-knowledge-card__meta {
    margin-top: 10px;
    color: #647184;
    font-size: 11px;
    line-height: 1.5;
}

.specialization-knowledge-card__meta span {
    padding: 0 3px;
    color: rgba(38, 118, 255, .68);
}

.specialization-knowledge-card__link {
    margin-top: 15px;
    color: #1b365d;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.4;
}

.specialization-knowledge-card__link span {
    display: inline-block;
    margin-left: 4px;
    color: #2676ff;
    transition: transform .22s ease;
}

.specialization-knowledge-card > a:hover .specialization-knowledge-card__link span,
.specialization-knowledge-card > a:focus-visible .specialization-knowledge-card__link span {
    transform: translateX(4px);
}

@media (max-width: 720px) {
    .specialization-knowledge-card > a {
        min-height: auto;
        padding: 18px 18px 18px 21px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .specialization-knowledge-card > a,
    .specialization-knowledge-card > a::before,
    .specialization-knowledge-card__link span {
        transition: none !important;
    }
}



/* SFXM 5.3.1 — Sharp Design override */
.specialization-knowledge-card > a {
    border-radius: 0 !important;
    box-shadow: none;
}

.specialization-knowledge-card > a:hover,
.specialization-knowledge-card > a:focus-visible {
    box-shadow: 0 8px 20px rgba(27, 54, 93, .08);
}

.specialization-knowledge-card__eyebrow,
.specialization-knowledge-card__title,
.specialization-knowledge-card__meta,
.specialization-knowledge-card__link {
    border-radius: 0 !important;
}


/* SFXM 5.3.2 — Sharp CTA + stronger microcopy */
.specialization-cta-link {
    border-radius: 0 !important;
}

.specialization-cta-link:hover,
.specialization-cta-link:focus-visible {
    border-radius: 0 !important;
}

.specialization-cta small {
    color: #41536a !important;
    font-size: .84rem;
    line-height: 1.55;
    font-weight: 500;
}

.specialization-cta small strong {
    color: #0a1726;
}


/* SFXM 5.3.3 — CTA text clipping fix */
.specialization-cta-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between;
    gap: 12px;
    width: auto;
    max-width: 100%;
    min-height: 48px;
    height: auto !important;
    padding: 12px 14px 13px !important;
    overflow: visible !important;
    box-sizing: border-box;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word;
    text-wrap: pretty;
    font-family: "Manrope SFXM", Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5 !important;
    letter-spacing: 0;
    vertical-align: middle;
}

.specialization-cta-link > span[aria-hidden="true"] {
    flex: 0 0 auto;
    align-self: center;
    line-height: 1;
}

.specialization-cta small {
    display: block;
    margin-top: 10px;
    padding-bottom: 1px;
    overflow: visible;
    color: #35475e !important;
    font-family: "Manrope SFXM", Arial, sans-serif;
    font-size: .86rem;
    font-weight: 500;
    line-height: 1.65 !important;
    letter-spacing: 0;
    white-space: normal;
    overflow-wrap: break-word;
    text-rendering: optimizeLegibility;
}

@media (max-width: 720px) {
    .specialization-cta-link {
        width: 100%;
        align-items: flex-start !important;
    }

    .specialization-cta-link > span[aria-hidden="true"] {
        margin-top: 3px;
    }
}
