.wpcsa-directory {
    --wpcsa-directory-ink: #0b1220;
    --wpcsa-directory-muted: #667085;
    --wpcsa-directory-line: #e5e7eb;
    --wpcsa-directory-soft: #f7f8fa;
    --wpcsa-directory-surface: #ffffff;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    color: var(--wpcsa-directory-ink);
    font-family: inherit;
}

.wpcsa-directory *,
.wpcsa-directory *::before,
.wpcsa-directory *::after {
    box-sizing: border-box;
}

.wpcsa-directory__header {
    max-width: 800px;
    margin: 0 auto 28px;
    text-align: center;
}

.wpcsa-directory__eyebrow {
    margin: 0 0 12px;
    color: var(--wpcsa-directory-accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.wpcsa-directory__header h2 {
    margin: 0;
    color: var(--wpcsa-directory-ink);
    font-size: clamp(34px, 5vw, 58px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -.05em;
    text-wrap: balance;
}

.wpcsa-directory__intro {
    max-width: 720px;
    margin: 18px auto 0;
    color: var(--wpcsa-directory-muted);
    font-size: clamp(16px, 1.5vw, 19px);
    line-height: 1.7;
    text-wrap: balance;
}

.wpcsa-directory__status,
.wpcsa-directory__notice {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 26px;
    padding: 10px 15px;
    border: 1px solid #dce8df;
    border-radius: 999px;
    color: #276749;
    background: #f0fff4;
    font-size: 13px;
    line-height: 1.45;
    text-align: center;
}

.wpcsa-directory__status-dot {
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #22a06b;
    box-shadow: 0 0 0 4px rgba(34, 160, 107, .12);
}

.wpcsa-directory__notice {
    width: 100%;
    padding: 17px 20px;
    border-color: #dbe7f5;
    border-radius: 16px;
    color: #334155;
    background: #f4f8fc;
}

.wpcsa-directory__notice--error {
    border-color: #f4cccc;
    color: #9b1c1c;
    background: #fff5f5;
}

.wpcsa-directory__filters {
    display: grid;
    grid-template-columns: minmax(260px, 1.7fr) repeat(4, minmax(145px, 1fr)) auto;
    gap: 12px;
    align-items: end;
    margin: 0 0 26px;
    padding: 18px;
    border: 1px solid var(--wpcsa-directory-line);
    border-radius: 20px;
    background: var(--wpcsa-directory-surface);
    box-shadow: 0 14px 36px rgba(15, 23, 42, .055);
}

.wpcsa-directory__filters > div {
    min-width: 0;
}

.wpcsa-directory__filters label {
    display: block;
    margin: 0 0 7px;
    color: #344054;
    font-size: 12px;
    font-weight: 750;
}

.wpcsa-directory__filters input,
.wpcsa-directory__filters select {
    width: 100%;
    min-height: 46px;
    margin: 0;
    padding: 0 13px;
    border: 1px solid #d8dde6;
    border-radius: 12px;
    outline: 0;
    color: var(--wpcsa-directory-ink);
    background: #fff;
    box-shadow: none;
    font: inherit;
    font-size: 14px;
}

.wpcsa-directory__filters input:focus,
.wpcsa-directory__filters select:focus {
    border-color: var(--wpcsa-directory-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--wpcsa-directory-accent) 14%, transparent);
}

.wpcsa-directory__filter-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 46px;
}

.wpcsa-directory__filter-actions button {
    min-height: 46px;
    padding: 0 18px;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: var(--wpcsa-directory-accent);
    font: inherit;
    font-size: 14px;
    font-weight: 750;
    cursor: pointer;
}

.wpcsa-directory__filter-actions a {
    color: var(--wpcsa-directory-muted);
    font-size: 13px;
    font-weight: 650;
    text-decoration: none;
}

.wpcsa-directory__results-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin: 0 2px 14px;
    color: var(--wpcsa-directory-muted);
    font-size: 13px;
}

.wpcsa-directory__results-head p {
    margin: 0;
}

.wpcsa-directory__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.wpcsa-directory-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--wpcsa-directory-line);
    border-radius: 22px;
    background: var(--wpcsa-directory-surface);
    box-shadow: 0 12px 34px rgba(15, 23, 42, .05);
}

.wpcsa-directory-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #98a2b3;
}

.wpcsa-directory-card--critical::before { background: #b42318; }
.wpcsa-directory-card--high::before { background: #d92d20; }
.wpcsa-directory-card--medium::before { background: #dc6803; }
.wpcsa-directory-card--low::before { background: #1570ef; }
.wpcsa-directory-card--informational::before { background: #667085; }

.wpcsa-directory-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 22px 0 25px;
}

.wpcsa-directory-card__top > div:first-child {
    min-width: 0;
}

.wpcsa-directory-card__type {
    display: block;
    margin-bottom: 5px;
    color: var(--wpcsa-directory-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.wpcsa-directory-card__component {
    display: block;
    overflow-wrap: anywhere;
    color: var(--wpcsa-directory-ink);
    font-size: 16px;
    line-height: 1.3;
}

.wpcsa-directory-card__top code {
    display: inline-block;
    margin-top: 5px;
    padding: 2px 6px;
    border-radius: 6px;
    color: #667085;
    background: #f2f4f7;
    font-size: 11px;
}

.wpcsa-directory-card__severity {
    display: grid;
    justify-items: end;
    gap: 3px;
    flex: 0 0 auto;
}

.wpcsa-directory-card__severity span {
    padding: 5px 9px;
    border-radius: 999px;
    color: #475467;
    background: #f2f4f7;
    font-size: 11px;
    font-weight: 750;
}

.wpcsa-directory-card--critical .wpcsa-directory-card__severity span,
.wpcsa-directory-card--high .wpcsa-directory-card__severity span {
    color: #b42318;
    background: #fef3f2;
}

.wpcsa-directory-card--medium .wpcsa-directory-card__severity span {
    color: #b54708;
    background: #fffaeb;
}

.wpcsa-directory-card--low .wpcsa-directory-card__severity span {
    color: #175cd3;
    background: #eff8ff;
}

.wpcsa-directory-card__severity strong {
    color: var(--wpcsa-directory-ink);
    font-size: 20px;
    line-height: 1;
}

.wpcsa-directory-card h3 {
    margin: 18px 22px 0 25px;
    color: var(--wpcsa-directory-ink);
    font-size: clamp(19px, 2vw, 23px);
    font-weight: 780;
    line-height: 1.25;
    letter-spacing: -.025em;
    text-wrap: balance;
}

.wpcsa-directory-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 12px 22px 0 25px;
}

.wpcsa-directory-card__meta span {
    padding: 4px 8px;
    border: 1px solid #e4e7ec;
    border-radius: 999px;
    color: #667085;
    background: #fafafa;
    font-size: 11px;
}

.wpcsa-directory-card__summary {
    margin: 16px 22px 0 25px;
    color: #475467;
    font-size: 14px;
    line-height: 1.65;
}

.wpcsa-directory-card__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 22px 20px 25px;
}

.wpcsa-directory-card__facts > div {
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid #eaecf0;
    border-radius: 14px;
    background: var(--wpcsa-directory-soft);
}

.wpcsa-directory-card__facts span {
    display: block;
    margin-bottom: 5px;
    color: #667085;
    font-size: 11px;
    font-weight: 750;
}

.wpcsa-directory-card__facts p {
    margin: 0;
    overflow-wrap: anywhere;
    color: #344054;
    font-size: 12px;
    line-height: 1.5;
}

.wpcsa-directory-card__details {
    border-top: 1px solid #eaecf0;
}

.wpcsa-directory-card__details summary {
    padding: 15px 22px 15px 25px;
    color: #344054;
    font-size: 13px;
    font-weight: 750;
    cursor: pointer;
}

.wpcsa-directory-card__details-body {
    display: grid;
    gap: 17px;
    padding: 2px 22px 22px 25px;
}

.wpcsa-directory-card__details-body h4 {
    margin: 0 0 6px;
    color: var(--wpcsa-directory-ink);
    font-size: 13px;
}

.wpcsa-directory-card__details-body p {
    margin: 0;
    color: #475467;
    font-size: 13px;
    line-height: 1.65;
}

.wpcsa-directory-card__details-body dl {
    display: grid;
    gap: 8px;
    margin: 0;
}

.wpcsa-directory-card__details-body dl div {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 10px;
}

.wpcsa-directory-card__details-body dt {
    color: #667085;
    font-size: 12px;
    font-weight: 750;
}

.wpcsa-directory-card__details-body dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    color: #344054;
    font-size: 12px;
}

.wpcsa-directory-card__details-body code {
    white-space: normal;
    overflow-wrap: anywhere;
}

.wpcsa-directory-card__source {
    color: var(--wpcsa-directory-accent);
    font-weight: 750;
    text-decoration: none;
}

.wpcsa-directory-card__attributions {
    display: grid;
    gap: 5px;
    padding-top: 12px;
    border-top: 1px solid #eaecf0;
}

.wpcsa-directory-card__attributions small {
    color: #667085;
    font-size: 10px;
    line-height: 1.5;
}

.wpcsa-directory-card__attributions a {
    margin-left: 5px;
}

.wpcsa-directory__empty {
    padding: 50px 24px;
    border: 1px solid var(--wpcsa-directory-line);
    border-radius: 20px;
    background: var(--wpcsa-directory-soft);
    text-align: center;
}

.wpcsa-directory__empty h3 {
    margin: 0;
    font-size: 22px;
}

.wpcsa-directory__empty p {
    margin: 10px 0 0;
    color: var(--wpcsa-directory-muted);
}

.wpcsa-directory__pagination {
    margin-top: 28px;
}

.wpcsa-directory__pagination ul.page-numbers {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.wpcsa-directory__pagination ul.page-numbers li {
    margin: 0;
}

.wpcsa-directory__pagination a,
.wpcsa-directory__pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid var(--wpcsa-directory-line);
    border-radius: 11px;
    color: #344054;
    background: #fff;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.wpcsa-directory__pagination .current {
    border-color: var(--wpcsa-directory-accent);
    color: #fff;
    background: var(--wpcsa-directory-accent);
}

.wpcsa-directory__footer {
    max-width: 800px;
    margin: 30px auto 0;
    color: var(--wpcsa-directory-muted);
    font-size: 12px;
    line-height: 1.6;
    text-align: center;
}

@media (max-width: 1120px) {
    .wpcsa-directory__filters {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .wpcsa-directory__search {
        grid-column: span 2;
    }
}

@media (max-width: 760px) {
    .wpcsa-directory__filters,
    .wpcsa-directory__grid,
    .wpcsa-directory-card__facts {
        grid-template-columns: 1fr;
    }

    .wpcsa-directory__search {
        grid-column: auto;
    }

    .wpcsa-directory__filter-actions {
        justify-content: space-between;
    }

    .wpcsa-directory__results-head,
    .wpcsa-directory-card__top {
        align-items: flex-start;
    }

    .wpcsa-directory-card__top {
        padding-right: 18px;
    }
}

@media (max-width: 520px) {
    .wpcsa-directory__header h2 {
        font-size: 36px;
    }

    .wpcsa-directory__filters {
        padding: 14px;
        border-radius: 16px;
    }

    .wpcsa-directory__filter-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .wpcsa-directory__filter-actions a {
        padding: 7px 0;
        text-align: center;
    }

    .wpcsa-directory-card__top {
        flex-direction: column;
    }

    .wpcsa-directory-card__severity {
        justify-items: start;
    }

    .wpcsa-directory-card__details-body dl div {
        grid-template-columns: 1fr;
        gap: 3px;
    }
}

/* Semantic vulnerability directory and virtual server-rendered pages. */
.wpcsa-directory-card__component {
    text-decoration: none;
}

.wpcsa-directory-card h3 a {
    color: inherit;
    text-decoration: none;
}

.wpcsa-directory-card h3 a:hover,
.wpcsa-directory-card__component:hover {
    color: var(--wpcsa-directory-accent);
}

.wpcsa-directory-card__actions {
    padding: 0 22px 22px 25px;
}

.wpcsa-directory-card__actions a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--wpcsa-directory-accent);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.wpcsa-directory-card__actions a span {
    transition: transform .18s ease;
}

.wpcsa-directory-card__actions a:hover span {
    transform: translateX(3px);
}

.wpcsa-hub-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 28px;
}

.wpcsa-hub-nav > a {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 4px 14px;
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--wpcsa-directory-line);
    border-radius: 18px;
    color: var(--wpcsa-directory-ink);
    background: linear-gradient(145deg, #fff, #f8fafc);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .045);
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.wpcsa-hub-nav > a:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--wpcsa-directory-accent) 40%, #e5e7eb);
    box-shadow: 0 16px 36px rgba(15, 23, 42, .08);
}

.wpcsa-hub-nav span {
    font-size: 15px;
    font-weight: 800;
}

.wpcsa-hub-nav strong {
    grid-row: span 2;
    font-size: clamp(25px, 3vw, 38px);
    line-height: 1;
}

.wpcsa-hub-nav small {
    color: var(--wpcsa-directory-muted);
    font-size: 12px;
}

.wpcsa-knowledge {
    padding-block: clamp(22px, 4vw, 56px);
}

.wpcsa-breadcrumbs {
    margin: 0 0 28px;
    overflow-x: auto;
    scrollbar-width: none;
}

.wpcsa-breadcrumbs::-webkit-scrollbar {
    display: none;
}

.wpcsa-breadcrumbs ol {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: max-content;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--wpcsa-directory-muted);
    font-size: 13px;
}

.wpcsa-breadcrumbs li {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.wpcsa-breadcrumbs li:not(:last-child)::after {
    content: "/";
    color: #c4c9d2;
}

.wpcsa-breadcrumbs a {
    color: inherit;
    text-decoration: none;
}

.wpcsa-breadcrumbs a:hover {
    color: var(--wpcsa-directory-accent);
}

.wpcsa-knowledge__hero {
    max-width: 920px;
    margin: 0 0 34px;
}

.wpcsa-knowledge__hero h1 {
    max-width: 1000px;
    margin: 0;
    color: var(--wpcsa-directory-ink);
    font-size: clamp(40px, 7vw, 76px);
    font-weight: 850;
    line-height: .98;
    letter-spacing: -.055em;
    text-wrap: balance;
}

.wpcsa-knowledge__hero > p:last-child {
    max-width: 800px;
    margin: 22px 0 0;
    color: var(--wpcsa-directory-muted);
    font-size: clamp(17px, 1.8vw, 21px);
    line-height: 1.7;
}

.wpcsa-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    margin: 0 0 clamp(42px, 7vw, 80px);
    border: 1px solid var(--wpcsa-directory-line);
    border-radius: 22px;
    background: var(--wpcsa-directory-line);
    box-shadow: 0 18px 45px rgba(15, 23, 42, .055);
}

.wpcsa-stats > div {
    display: grid;
    gap: 7px;
    min-width: 0;
    padding: 24px;
    background: #fff;
}

.wpcsa-stats strong {
    color: var(--wpcsa-directory-ink);
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1;
    letter-spacing: -.04em;
}

.wpcsa-stats span {
    color: var(--wpcsa-directory-muted);
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.wpcsa-knowledge__section {
    margin: 0 0 clamp(48px, 8vw, 92px);
}

.wpcsa-knowledge__section--soft,
.wpcsa-knowledge__section--editorial {
    padding: clamp(24px, 4vw, 44px);
    border: 1px solid var(--wpcsa-directory-line);
    border-radius: 26px;
    background: #f8fafc;
}

.wpcsa-knowledge__section--editorial {
    background: linear-gradient(135deg, #0b1220, #172033);
    color: #fff;
}

.wpcsa-knowledge__section--editorial h2,
.wpcsa-knowledge__section--editorial p {
    color: inherit;
}

.wpcsa-knowledge__section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin: 0 0 24px;
}

.wpcsa-knowledge__section-head h2,
.wpcsa-knowledge__section--editorial h2,
.wpcsa-root-cta h2 {
    max-width: 850px;
    margin: 0;
    color: var(--wpcsa-directory-ink);
    font-size: clamp(28px, 4vw, 46px);
    line-height: 1.06;
    letter-spacing: -.04em;
    text-wrap: balance;
}

.wpcsa-knowledge__section-head > p {
    margin: 0;
    color: var(--wpcsa-directory-muted);
    font-size: 13px;
    white-space: nowrap;
}

.wpcsa-component-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.wpcsa-component-card {
    display: flex;
    min-width: 0;
    min-height: 250px;
    flex-direction: column;
    padding: 22px;
    border: 1px solid var(--wpcsa-directory-line);
    border-radius: 21px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .045);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.wpcsa-component-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--wpcsa-directory-accent) 36%, #e5e7eb);
    box-shadow: 0 18px 42px rgba(15, 23, 42, .085);
}

.wpcsa-component-card__top {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: var(--wpcsa-directory-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.wpcsa-component-card__top strong {
    color: #b42318;
}

.wpcsa-component-card h3 {
    margin: 20px 0 6px;
    font-size: 22px;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.wpcsa-component-card h3 a {
    color: var(--wpcsa-directory-ink);
    text-decoration: none;
}

.wpcsa-component-card code {
    align-self: flex-start;
    padding: 4px 7px;
    border-radius: 7px;
    color: #667085;
    background: #f2f4f7;
    font-size: 11px;
}

.wpcsa-component-card__metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 22px 0;
}

.wpcsa-component-card__metrics span {
    display: grid;
    gap: 3px;
    color: var(--wpcsa-directory-muted);
    font-size: 10px;
    text-transform: uppercase;
}

.wpcsa-component-card__metrics strong {
    color: var(--wpcsa-directory-ink);
    font-size: 18px;
    line-height: 1;
}

.wpcsa-component-card__link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
    color: var(--wpcsa-directory-accent);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.wpcsa-related-links {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.wpcsa-related-links a {
    display: grid;
    gap: 5px;
    padding: 16px;
    border: 1px solid var(--wpcsa-directory-line);
    border-radius: 15px;
    color: var(--wpcsa-directory-ink);
    background: #fff;
    text-decoration: none;
}

.wpcsa-related-links a:hover {
    border-color: var(--wpcsa-directory-accent);
}

.wpcsa-related-links span {
    overflow-wrap: anywhere;
    font-weight: 800;
}

.wpcsa-related-links small {
    color: var(--wpcsa-directory-muted);
}

.wpcsa-editorial-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(22px, 4vw, 50px);
    margin-top: 24px;
}

.wpcsa-editorial-grid p {
    margin: 0;
    color: rgba(255, 255, 255, .76);
    font-size: 16px;
    line-height: 1.8;
}

.wpcsa-root-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: clamp(25px, 4vw, 44px);
    border: 1px solid var(--wpcsa-directory-line);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .055);
}

.wpcsa-root-cta p:not(.wpcsa-directory__eyebrow) {
    max-width: 680px;
    margin: 12px 0 0;
    color: var(--wpcsa-directory-muted);
    line-height: 1.7;
}

.wpcsa-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border: 1px solid var(--wpcsa-directory-line);
    border-radius: 12px;
    color: var(--wpcsa-directory-ink);
    background: #fff;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
}

.wpcsa-button--primary {
    border-color: var(--wpcsa-directory-accent);
    color: #fff;
    background: var(--wpcsa-directory-accent);
}

.wpcsa-advisory__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 30px;
    align-items: end;
    margin: 0 0 34px;
    padding: clamp(26px, 5vw, 58px);
    border: 1px solid var(--wpcsa-directory-line);
    border-radius: 28px;
    background: linear-gradient(145deg, #fff, #f8fafc);
    box-shadow: 0 18px 50px rgba(15, 23, 42, .07);
}

.wpcsa-advisory__hero--critical { border-top: 5px solid #b42318; }
.wpcsa-advisory__hero--high { border-top: 5px solid #d92d20; }
.wpcsa-advisory__hero--medium { border-top: 5px solid #dc6803; }
.wpcsa-advisory__hero--low { border-top: 5px solid #1570ef; }
.wpcsa-advisory__hero--informational,
.wpcsa-advisory__hero--none { border-top: 5px solid #667085; }

.wpcsa-advisory__identity h1 {
    max-width: 940px;
    margin: 0;
    color: var(--wpcsa-directory-ink);
    font-size: clamp(38px, 6.5vw, 72px);
    line-height: 1;
    letter-spacing: -.055em;
    text-wrap: balance;
}

.wpcsa-advisory__subtitle {
    max-width: 800px;
    margin: 20px 0 0;
    color: var(--wpcsa-directory-muted);
    font-size: clamp(16px, 1.7vw, 20px);
    line-height: 1.65;
}

.wpcsa-advisory__score {
    display: grid;
    justify-items: end;
    min-width: 118px;
    padding: 18px;
    border-radius: 18px;
    color: #fff;
    background: #0b1220;
}

.wpcsa-advisory__score span {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.wpcsa-advisory__score strong {
    font-size: 45px;
    line-height: 1;
    letter-spacing: -.05em;
}

.wpcsa-advisory__score small {
    opacity: .65;
    font-size: 10px;
}

.wpcsa-advisory__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: clamp(25px, 4vw, 50px);
    align-items: start;
    margin: 0 0 clamp(48px, 8vw, 92px);
}

.wpcsa-advisory__content {
    min-width: 0;
}

.wpcsa-advisory__content > section {
    padding: 0 0 34px;
    margin: 0 0 34px;
    border-bottom: 1px solid var(--wpcsa-directory-line);
}

.wpcsa-advisory__content h2,
.wpcsa-advisory__panel h2 {
    margin: 0 0 16px;
    color: var(--wpcsa-directory-ink);
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.15;
    letter-spacing: -.035em;
}

.wpcsa-advisory__content p,
.wpcsa-advisory__content li {
    color: #475467;
    font-size: 16px;
    line-height: 1.8;
}

.wpcsa-advisory__content a {
    color: var(--wpcsa-directory-accent);
    font-weight: 750;
}

.wpcsa-advisory__codebox {
    margin: 18px 0;
    padding: 16px;
    overflow-x: auto;
    border: 1px solid #dbe3ee;
    border-radius: 13px;
    background: #f7f9fc;
}

.wpcsa-advisory__codebox code {
    color: #172033;
    white-space: normal;
    overflow-wrap: anywhere;
}

.wpcsa-advisory__steps {
    margin: 0;
    padding-left: 22px;
}

.wpcsa-advisory__technical {
    display: grid;
    gap: 0;
    margin: 0;
    border: 1px solid var(--wpcsa-directory-line);
    border-radius: 16px;
    overflow: hidden;
}

.wpcsa-advisory__technical > div {
    display: grid;
    grid-template-columns: minmax(130px, .35fr) minmax(0, 1fr);
    gap: 18px;
    padding: 14px 16px;
    background: #fff;
}

.wpcsa-advisory__technical > div:nth-child(even) {
    background: #f8fafc;
}

.wpcsa-advisory__technical dt {
    color: var(--wpcsa-directory-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.wpcsa-advisory__technical dd {
    min-width: 0;
    margin: 0;
    color: var(--wpcsa-directory-ink);
    overflow-wrap: anywhere;
}

.wpcsa-advisory__aside {
    position: sticky;
    top: 26px;
}

.wpcsa-advisory__panel {
    padding: 23px;
    border: 1px solid var(--wpcsa-directory-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 15px 40px rgba(15, 23, 42, .06);
}

.wpcsa-advisory__panel ul {
    display: grid;
    gap: 0;
    margin: 0 0 20px;
    padding: 0;
    list-style: none;
}

.wpcsa-advisory__panel li {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 0;
    border-bottom: 1px solid var(--wpcsa-directory-line);
    font-size: 13px;
}

.wpcsa-advisory__panel li span {
    color: var(--wpcsa-directory-muted);
}

.wpcsa-advisory__panel li strong {
    max-width: 150px;
    text-align: right;
}

.wpcsa-advisory__panel .wpcsa-button {
    width: 100%;
    margin-top: 9px;
}

@media (max-width: 1000px) {
    .wpcsa-component-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wpcsa-related-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wpcsa-advisory__layout { grid-template-columns: 1fr; }
    .wpcsa-advisory__aside { position: static; }
}

@media (max-width: 780px) {
    .wpcsa-hub-nav,
    .wpcsa-stats,
    .wpcsa-component-grid,
    .wpcsa-editorial-grid { grid-template-columns: 1fr; }
    .wpcsa-knowledge__section-head,
    .wpcsa-root-cta { align-items: flex-start; flex-direction: column; }
    .wpcsa-advisory__hero { grid-template-columns: 1fr; align-items: start; }
    .wpcsa-advisory__score { justify-items: start; min-width: 110px; }
    .wpcsa-advisory__technical > div { grid-template-columns: 1fr; gap: 5px; }
}

@media (max-width: 560px) {
    .wpcsa-related-links { grid-template-columns: 1fr; }
    .wpcsa-component-card__metrics { grid-template-columns: repeat(3, 1fr); }
    .wpcsa-knowledge__hero h1,
    .wpcsa-advisory__identity h1 { font-size: clamp(34px, 12vw, 52px); }
}

/* 2.5.1 — Compact premium vulnerability cards. */
.wpcsa-directory__grid {
    gap: 20px;
}

.wpcsa-directory-card {
    display: flex;
    flex-direction: column;
    min-height: 330px;
    padding: 24px;
    overflow: visible;
    border: 1px solid #e6e9ef;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 10px 32px rgba(15, 23, 42, .045);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.wpcsa-directory-card:hover {
    transform: translateY(-3px);
    border-color: #d5dae3;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .085);
}

.wpcsa-directory-card::before {
    display: none;
}

.wpcsa-directory-card__top {
    align-items: center;
    padding: 0;
}

.wpcsa-directory-card__reference {
    color: #667085;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: -.01em;
}

.wpcsa-directory-card__severity {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 31px;
    padding: 5px 10px;
    border-radius: 999px;
    color: #475467;
    background: #f2f4f7;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.wpcsa-directory-card__severity strong {
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

.wpcsa-directory-card--critical .wpcsa-directory-card__severity,
.wpcsa-directory-card--high .wpcsa-directory-card__severity {
    color: #b42318;
    background: #fef3f2;
}

.wpcsa-directory-card--medium .wpcsa-directory-card__severity {
    color: #9a5500;
    background: #fff6df;
}

.wpcsa-directory-card--low .wpcsa-directory-card__severity {
    color: #175cd3;
    background: #eff8ff;
}

.wpcsa-directory-card__component {
    display: block;
    width: fit-content;
    max-width: 100%;
    margin-top: 17px;
    overflow: hidden;
    color: #667085;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wpcsa-directory-card h3 {
    display: -webkit-box;
    margin: 8px 0 0;
    overflow: hidden;
    color: var(--wpcsa-directory-ink);
    font-size: clamp(19px, 1.7vw, 23px);
    font-weight: 800;
    line-height: 1.28;
    letter-spacing: -.03em;
    text-wrap: balance;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.wpcsa-directory-card__summary {
    display: -webkit-box;
    margin: 14px 0 20px;
    overflow: hidden;
    color: #526076;
    font-size: 14px;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.wpcsa-directory-card__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: auto 0 19px;
}

.wpcsa-directory-card__facts > div {
    min-width: 0;
    padding: 12px 0 0;
    border: 0;
    border-top: 1px solid #edf0f4;
    border-radius: 0;
    background: transparent;
}

.wpcsa-directory-card__facts span {
    margin-bottom: 4px;
    color: #7b8495;
    font-size: 10px;
    font-weight: 750;
}

.wpcsa-directory-card__facts p {
    display: -webkit-box;
    overflow: hidden;
    color: #172033;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.wpcsa-directory-card__actions {
    padding: 0;
}

.wpcsa-directory-card__actions a {
    gap: 7px;
    color: var(--wpcsa-directory-accent);
    font-size: 13px;
    font-weight: 800;
}

@media (max-width: 760px) {
    .wpcsa-directory-card {
        min-height: 0;
        padding: 20px;
    }

    .wpcsa-directory-card__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wpcsa-directory-card__facts > div:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 430px) {
    .wpcsa-directory-card__top {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .wpcsa-directory-card__component {
        white-space: normal;
    }
}

.wpcsa-advisory__classification {
    margin-top: 18px;
    padding: 18px 20px;
    border: 1px solid #dbe3ee;
    border-radius: 16px;
    background: linear-gradient(145deg, #f8fafc, #fff);
}

.wpcsa-advisory__classification strong {
    display: block;
    margin-bottom: 7px;
    color: var(--wpcsa-directory-ink);
    font-size: 13px;
}

.wpcsa-advisory__classification p {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
}

.wpcsa-advisory__references {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

.wpcsa-advisory__references li {
    margin: 0;
}

.wpcsa-advisory__references a {
    display: grid;
    gap: 5px;
    min-height: 100%;
    padding: 15px 17px;
    border: 1px solid var(--wpcsa-directory-line);
    border-radius: 14px;
    color: var(--wpcsa-directory-ink);
    background: #fff;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.wpcsa-advisory__references a:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--wpcsa-directory-accent) 38%, #e5e7eb);
    box-shadow: 0 12px 28px rgba(15, 23, 42, .07);
}

.wpcsa-advisory__references span {
    color: var(--wpcsa-directory-ink);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.4;
}

.wpcsa-advisory__references small {
    color: var(--wpcsa-directory-muted);
    font-size: 11px;
    overflow-wrap: anywhere;
}

.wpcsa-advisory__content .wpcsa-directory-card__attributions {
    gap: 10px;
    padding: 0;
    border-top: 0;
}

.wpcsa-advisory__content .wpcsa-directory-card__attributions small {
    display: block;
    padding: 13px 15px;
    border: 1px solid var(--wpcsa-directory-line);
    border-radius: 12px;
    background: #f8fafc;
    font-size: 12px;
}

@media (max-width: 640px) {
    .wpcsa-advisory__references {
        grid-template-columns: 1fr;
    }
}

/* 2.6.0 — editorial enrichment and local version checker */
.wpcsa-advisory__hero-meta{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.wpcsa-advisory__hero-meta span{display:inline-flex;padding:.42rem .7rem;border:1px solid rgba(15,23,42,.1);border-radius:999px;background:rgba(255,255,255,.68);color:#475569;font-size:.78rem;font-weight:700}.wpcsa-analysis-card--highlight{position:relative;overflow:hidden;border-color:rgba(251,91,30,.24)!important;background:linear-gradient(135deg,#fff 0%,#fff7f2 100%)!important}.wpcsa-analysis-card--highlight:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--wpcsa-directory-accent,#fb5b1e)}.wpcsa-signal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1.1rem 0}.wpcsa-signal-grid>div{padding:1rem;border:1px solid #e7eaf0;border-radius:14px;background:#f8fafc}.wpcsa-signal-grid span{display:block;margin-bottom:.3rem;color:#7b8495;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.wpcsa-signal-grid strong{color:#172033;font-size:.95rem}.wpcsa-version-tool{border-color:#dce5f2!important;background:linear-gradient(145deg,#f8fbff,#fff)!important}.wpcsa-version-checker{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:.85rem;align-items:end;margin-top:1rem}.wpcsa-version-checker label span{display:block;margin-bottom:.38rem;color:#334155;font-size:.8rem;font-weight:750}.wpcsa-version-checker input{width:100%;min-height:46px;padding:.72rem .85rem;border:1px solid #cfd7e3;border-radius:11px;background:#fff;color:#0f172a;font:inherit}.wpcsa-version-checker input:focus{outline:3px solid rgba(251,91,30,.14);border-color:var(--wpcsa-directory-accent,#fb5b1e)}.wpcsa-version-checker__result{grid-column:1/-1;margin:0;padding:.8rem 1rem;border-radius:11px;background:#f1f5f9;color:#475569;font-weight:650}.wpcsa-version-checker__result:empty{display:none}.wpcsa-version-checker__result[data-state="danger"]{background:#fff1f2;color:#9f1239}.wpcsa-version-checker__result[data-state="safe"]{background:#ecfdf5;color:#166534}.wpcsa-timeline{position:relative;display:grid;gap:1rem;margin:1rem 0 0;padding:0;list-style:none}.wpcsa-timeline:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:#e2e8f0}.wpcsa-timeline li{position:relative;padding-left:2rem}.wpcsa-timeline li:before{content:"";position:absolute;left:1px;top:.38rem;width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:var(--wpcsa-directory-accent,#fb5b1e);box-shadow:0 0 0 1px #e2e8f0}.wpcsa-timeline span{display:block;color:#7c8798;font-size:.75rem;font-weight:700}.wpcsa-timeline strong{color:#1e293b;font-size:.94rem}.wpcsa-advisory__panel--note{margin-top:1rem;background:#f8fafc}.wpcsa-advisory__panel--note p{margin:0;color:#64748b;font-size:.88rem;line-height:1.65}@media(max-width:760px){.wpcsa-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wpcsa-version-checker{grid-template-columns:1fr}.wpcsa-version-checker__result{grid-column:1}}

/* 2.6.1 — advisory redesign and stronger deterministic analysis UI */
.wpcsa-analysis-card--advisory{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(251,91,30,.18)!important;
    border-radius:24px!important;
    background:linear-gradient(180deg,#fff 0%,#fffaf7 100%)!important;
    box-shadow:0 18px 48px rgba(15,23,42,.06);
}

.wpcsa-analysis-card--advisory::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:4px;
    background:linear-gradient(90deg,var(--wpcsa-directory-accent,#fb5b1e),rgba(251,91,30,.12));
}

.wpcsa-analysis-card__header{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:1.25rem;
    align-items:start;
    margin-bottom:1.4rem;
}

.wpcsa-analysis-card__header h2{
    margin-bottom:.6rem!important;
}

.wpcsa-analysis-card__intro{
    margin:0!important;
    max-width:72ch;
    color:#5a687d!important;
}

.wpcsa-analysis-card__priority{
    display:flex;
    flex-direction:column;
    gap:.25rem;
    min-width:220px;
    padding:1rem 1.1rem;
    border:1px solid #e8edf3;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 26px rgba(15,23,42,.04);
}

.wpcsa-analysis-card__priority span{
    color:#64748b;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.wpcsa-analysis-card__priority strong{
    color:#0f172a;
    font-size:1.02rem;
    line-height:1.3;
}

.wpcsa-analysis-card__priority--immediate{border-color:rgba(220,38,38,.18);background:linear-gradient(180deg,#fff,#fff5f5)}
.wpcsa-analysis-card__priority--high{border-color:rgba(249,115,22,.18);background:linear-gradient(180deg,#fff,#fff7ed)}
.wpcsa-analysis-card__priority--medium{border-color:rgba(234,179,8,.18);background:linear-gradient(180deg,#fff,#fffbeb)}
.wpcsa-analysis-card__priority--low{border-color:rgba(59,130,246,.16);background:linear-gradient(180deg,#fff,#f8fbff)}

.wpcsa-analysis-card__body{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(280px,.95fr);
    gap:1rem;
    align-items:start;
}

.wpcsa-analysis-card__primary,
.wpcsa-analysis-card__signals,
.wpcsa-analysis-card__insights article,
.wpcsa-audit-cta{
    border:1px solid #edf1f6;
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 28px rgba(15,23,42,.035);
}

.wpcsa-analysis-card__primary{
    padding:1.3rem 1.35rem;
}

.wpcsa-analysis-card__primary h3,
.wpcsa-analysis-card__insights h3{
    margin:0 0 .65rem;
    color:#0f172a;
    font-size:1rem;
    letter-spacing:-.015em;
}

.wpcsa-analysis-card__primary p:last-child{
    margin-bottom:0!important;
}

.wpcsa-analysis-card__signals{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.85rem;
    padding:1.1rem;
}

.wpcsa-analysis-card__signal{
    padding:.95rem 1rem;
    border:1px solid #eef2f6;
    border-radius:16px;
    background:#fbfcfe;
}

.wpcsa-analysis-card__signal span{
    display:block;
    margin-bottom:.35rem;
    color:#7b8495;
    font-size:.72rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.wpcsa-analysis-card__signal strong{
    color:#162033;
    font-size:.95rem;
    line-height:1.45;
}

.wpcsa-analysis-card__insights{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
    margin-top:1rem;
}

.wpcsa-analysis-card__insights article{
    padding:1.2rem 1.2rem 1.15rem;
}

.wpcsa-analysis-card__insights p{
    margin:0!important;
}

.wpcsa-analysis-card__keypoints{
    display:grid;
    gap:.65rem;
    margin:.05rem 0 0;
    padding:0;
    list-style:none;
}

.wpcsa-analysis-card__keypoints li{
    position:relative;
    margin:0!important;
    padding-left:1.1rem;
    color:#516074;
}

.wpcsa-analysis-card__keypoints li::before{
    content:"";
    position:absolute;
    left:0;
    top:.58rem;
    width:6px;
    height:6px;
    border-radius:999px;
    background:var(--wpcsa-directory-accent,#fb5b1e);
}

.wpcsa-audit-cta{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) auto;
    gap:1.2rem;
    align-items:center;
    padding:1.4rem 1.5rem!important;
    border-color:#dbe7f5!important;
    background:linear-gradient(135deg,#f8fbff 0%,#ffffff 55%,#fff8f4 100%)!important;
}

.wpcsa-audit-cta__content p:last-child{
    margin-bottom:0!important;
}

.wpcsa-audit-cta__actions{
    display:flex;
    flex-wrap:wrap;
    gap:.8rem;
    justify-content:flex-end;
}

.wpcsa-advisory__panel--note{
    background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);
    border:1px solid #e4ebf5;
}

.wpcsa-advisory__panel--note h2{
    margin-bottom:.6rem;
}

.wpcsa-advisory__panel--note p{
    color:#5b6678;
    font-size:.92rem;
    line-height:1.7;
}

@media (max-width: 980px){
    .wpcsa-analysis-card__header,
    .wpcsa-analysis-card__body,
    .wpcsa-audit-cta{
        grid-template-columns:1fr;
    }

    .wpcsa-analysis-card__priority{
        min-width:0;
    }

    .wpcsa-audit-cta__actions{
        justify-content:flex-start;
    }
}

@media (max-width: 760px){
    .wpcsa-analysis-card__signals,
    .wpcsa-analysis-card__insights{
        grid-template-columns:1fr;
    }
}

/* Analyse éditoriale des vulnérabilités */
.wpcsa-advisory,
.wpcsa-advisory * {
    box-sizing: border-box;
}

.wpcsa-advisory__content > .wpcsa-analysis-card--advisory {
    width: 100%;
    margin: 0 0 34px;
    padding: clamp(24px, 4vw, 42px) !important;
    border: 1px solid rgba(251, 91, 30, .18) !important;
    border-bottom: 1px solid rgba(251, 91, 30, .18) !important;
    border-radius: 26px !important;
    background:
        radial-gradient(circle at 100% 0, rgba(251, 91, 30, .09), transparent 31%),
        linear-gradient(145deg, #fff 0%, #fffaf7 100%) !important;
    box-shadow: 0 24px 64px rgba(15, 23, 42, .08);
}

.wpcsa-analysis-card__primary p {
    margin: 0 0 .9rem !important;
}

.wpcsa-analysis-card__priority-explanation {
    margin-top: 1.15rem;
    padding: 1rem 1.05rem;
    border: 1px solid #e9edf3;
    border-radius: 15px;
    background: #f8fafc;
}

.wpcsa-analysis-card__priority-explanation > strong {
    display: block;
    margin-bottom: .35rem;
    color: #172033;
    font-size: .8rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.wpcsa-analysis-card__priority-explanation p {
    margin: 0 !important;
    color: #5b6678 !important;
    font-size: .92rem !important;
    line-height: 1.65 !important;
}

.wpcsa-advisory__annotation {
    margin: 1rem 0 0 !important;
    padding: .85rem 1rem;
    border-left: 3px solid #cbd5e1;
    border-radius: 0 10px 10px 0;
    background: #f8fafc;
    color: #64748b !important;
    font-size: .88rem !important;
    line-height: 1.65 !important;
}

.wpcsa-impact-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
    margin: 1.3rem 0 1.6rem;
}

.wpcsa-impact-card {
    position: relative;
    overflow: hidden;
    min-width: 0;
    padding: 1.05rem 1.05rem 1rem;
    border: 1px solid #e8edf3;
    border-radius: 16px;
    background: #fff;
}

.wpcsa-impact-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: #94a3b8;
}

.wpcsa-impact-card--high::before { background: #dc2626; }
.wpcsa-impact-card--low::before { background: #f59e0b; }
.wpcsa-impact-card--none::before { background: #16a34a; }

.wpcsa-impact-card > span {
    display: block;
    margin-bottom: .25rem;
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.wpcsa-impact-card > strong {
    display: block;
    color: #0f172a;
    font-size: 1.05rem;
}

.wpcsa-impact-card > p {
    margin: .45rem 0 0 !important;
    color: #64748b !important;
    font-size: .86rem !important;
    line-height: 1.55 !important;
}

.wpcsa-advisory__subheading {
    margin: 1.6rem 0 .85rem;
    color: #172033;
    font-size: 1.08rem;
    letter-spacing: -.015em;
}

.wpcsa-consequence-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.wpcsa-consequence-list li {
    position: relative;
    margin: 0 !important;
    padding: .95rem 1rem .95rem 2.15rem;
    border: 1px solid #e8edf3;
    border-radius: 14px;
    background: #fbfcfe;
    color: #475569 !important;
    font-size: .91rem !important;
    line-height: 1.55 !important;
}

.wpcsa-consequence-list li::before {
    content: "";
    position: absolute;
    left: .95rem;
    top: 1.3rem;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--wpcsa-directory-accent, #fb5b1e);
    box-shadow: 0 0 0 4px rgba(251, 91, 30, .1);
}

.wpcsa-advisory__content > .wpcsa-audit-cta {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(210px, auto);
    gap: 1.25rem;
    align-items: center;
    padding: clamp(22px, 3.2vw, 34px) !important;
    border: 1px solid #dbe7f5 !important;
    border-bottom: 1px solid #dbe7f5 !important;
    border-radius: 24px !important;
    background:
        radial-gradient(circle at 0 0, rgba(59, 130, 246, .08), transparent 34%),
        linear-gradient(135deg, #f8fbff 0%, #fff 54%, #fff8f4 100%) !important;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .06);
}

.wpcsa-audit-cta__mark {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    border: 1px solid rgba(251, 91, 30, .18);
    border-radius: 19px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .07);
}

.wpcsa-audit-cta__mark span {
    position: relative;
    display: block;
    width: 27px;
    height: 31px;
    border: 3px solid var(--wpcsa-directory-accent, #fb5b1e);
    border-radius: 13px 13px 16px 16px;
    clip-path: polygon(50% 0, 100% 18%, 92% 72%, 50% 100%, 8% 72%, 0 18%);
}

.wpcsa-audit-cta__mark span::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 7px;
    width: 8px;
    height: 4px;
    border-left: 2px solid var(--wpcsa-directory-accent, #fb5b1e);
    border-bottom: 2px solid var(--wpcsa-directory-accent, #fb5b1e);
    transform: rotate(-45deg);
}

.wpcsa-audit-cta__content h2 {
    margin-bottom: .55rem !important;
}

.wpcsa-audit-cta__content > p:not(.wpcsa-directory__eyebrow) {
    margin: 0 !important;
}

.wpcsa-audit-cta__content ul {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .9rem;
    margin: .9rem 0 0;
    padding: 0;
    list-style: none;
}

.wpcsa-audit-cta__content li {
    position: relative;
    margin: 0 !important;
    padding-left: 1.05rem;
    color: #526076 !important;
    font-size: .82rem !important;
    line-height: 1.45 !important;
}

.wpcsa-audit-cta__content li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .47rem;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--wpcsa-directory-accent, #fb5b1e);
}

.wpcsa-audit-cta__actions {
    display: grid;
    gap: .65rem;
    justify-items: stretch;
}

.wpcsa-audit-cta__actions .wpcsa-button {
    justify-content: center;
    width: 100%;
    text-align: center;
}

.wpcsa-remediation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .9rem;
    margin: 1.1rem 0 1.3rem;
}

.wpcsa-remediation-card {
    padding: 1.15rem;
    border: 1px solid #e8edf3;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .035);
}

.wpcsa-remediation-card h3 {
    margin: 0 0 .75rem;
    color: #172033;
    font-size: 1rem;
    letter-spacing: -.015em;
}

.wpcsa-remediation-card ul {
    display: grid;
    gap: .65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.wpcsa-remediation-card li {
    position: relative;
    margin: 0 !important;
    padding-left: 1.1rem;
    color: #526076 !important;
    font-size: .88rem !important;
    line-height: 1.55 !important;
}

.wpcsa-remediation-card li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .55rem;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #94a3b8;
}

.wpcsa-advisory__codebox > span {
    display: block;
    margin-bottom: .35rem;
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.wpcsa-advisory__panel--engine {
    margin-top: 1rem;
    border-color: #dfe7f1;
    background:
        radial-gradient(circle at 100% 0, rgba(251, 91, 30, .08), transparent 38%),
        linear-gradient(180deg, #f8fbff 0%, #fff 100%);
}

.wpcsa-advisory__panel-brand {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1rem;
}

.wpcsa-advisory__panel-brand > span {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(145deg, #fb5b1e, #e3430d);
    box-shadow: 0 9px 22px rgba(251, 91, 30, .25);
    font-weight: 900;
}

.wpcsa-advisory__panel-brand strong,
.wpcsa-advisory__panel-brand small {
    display: block;
}

.wpcsa-advisory__panel-brand strong {
    color: #0f172a;
    font-size: 1rem;
}

.wpcsa-advisory__panel-brand small {
    margin-top: .1rem;
    color: #64748b;
    font-size: .72rem;
}

.wpcsa-advisory__panel--engine > p {
    margin: 0 0 1rem;
    color: #5b6678;
    font-size: .9rem;
    line-height: 1.65;
}

.wpcsa-engine-facts {
    display: grid;
    gap: 0;
    margin: 0 0 1rem;
    border-top: 1px solid #e5eaf1;
}

.wpcsa-engine-facts > div {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: .7rem;
    padding: .72rem 0;
    border-bottom: 1px solid #e5eaf1;
}

.wpcsa-engine-facts dt {
    color: #7b8495;
    font-size: .75rem;
    font-weight: 700;
}

.wpcsa-engine-facts dd {
    margin: 0;
    color: #263246;
    font-size: .78rem;
    font-weight: 750;
    text-align: right;
    overflow-wrap: anywhere;
}

.wpcsa-engine-disclaimer {
    margin: 0 !important;
    padding: .8rem .85rem;
    border-radius: 12px;
    background: rgba(255,255,255,.75);
    color: #64748b !important;
    font-size: .78rem !important;
    line-height: 1.55 !important;
}

@media (max-width: 1080px) {
    .wpcsa-advisory__content > .wpcsa-audit-cta {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .wpcsa-audit-cta__actions {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .wpcsa-impact-grid,
    .wpcsa-consequence-list,
    .wpcsa-remediation-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .wpcsa-advisory__content > .wpcsa-analysis-card--advisory {
        padding: 22px 18px !important;
        border-radius: 20px !important;
    }

    .wpcsa-advisory__content > .wpcsa-audit-cta {
        grid-template-columns: 1fr;
        padding: 22px 18px !important;
    }

    .wpcsa-audit-cta__mark {
        width: 54px;
        height: 54px;
    }

    .wpcsa-audit-cta__actions {
        grid-column: auto;
        grid-template-columns: 1fr;
    }
}

/* 2.8.0 — authoritative threat context and answer-first summaries */
.wpcsa-analysis-card__lead {
    margin-bottom: 1rem !important;
    color: #172033 !important;
    font-size: clamp(1.04rem, 1.6vw, 1.18rem) !important;
    font-weight: 650;
    line-height: 1.72 !important;
    letter-spacing: -.012em;
}

.wpcsa-analysis-card__detail {
    color: #526076 !important;
    line-height: 1.78 !important;
}

.wpcsa-threat-evidence {
    margin: 0 0 34px;
    padding: clamp(24px, 3.5vw, 36px) !important;
    border: 1px solid #dfe7f1 !important;
    border-radius: 24px !important;
    background:
        radial-gradient(circle at 100% 0, rgba(59, 130, 246, .075), transparent 33%),
        linear-gradient(145deg, #f8fbff 0%, #fff 68%) !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .055);
}

.wpcsa-threat-evidence__header {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
    gap: 1.4rem;
    align-items: end;
    margin-bottom: 1.25rem;
}

.wpcsa-threat-evidence__header h2 {
    margin: 0 !important;
}

.wpcsa-threat-evidence__header > p {
    margin: 0 !important;
    color: #64748b !important;
    font-size: .91rem !important;
    line-height: 1.65 !important;
}

.wpcsa-threat-evidence__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: .9rem;
}

.wpcsa-threat-evidence__card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 220px;
    padding: 1.2rem;
    overflow: hidden;
    border: 1px solid #e6ebf2;
    border-radius: 18px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .035);
}

.wpcsa-threat-evidence__card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: #94a3b8;
}

.wpcsa-threat-evidence__card--kev::before { background: #dc2626; }
.wpcsa-threat-evidence__card--epss::before { background: #2563eb; }
.wpcsa-threat-evidence__card--certfr::before { background: #0f766e; }

.wpcsa-threat-evidence__label {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 27px;
    margin-bottom: .8rem;
    padding: .28rem .58rem;
    border-radius: 999px;
    color: #566176;
    background: #f1f5f9;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.wpcsa-threat-evidence__card--kev .wpcsa-threat-evidence__label { color: #991b1b; background: #fef2f2; }
.wpcsa-threat-evidence__card--epss .wpcsa-threat-evidence__label { color: #1d4ed8; background: #eff6ff; }
.wpcsa-threat-evidence__card--certfr .wpcsa-threat-evidence__label { color: #0f766e; background: #ecfdf5; }

.wpcsa-threat-evidence__card > strong {
    display: block;
    margin-bottom: .55rem;
    color: #0f172a;
    font-size: 1.05rem;
    line-height: 1.35;
}

.wpcsa-threat-evidence__card > p {
    margin: 0 0 1rem !important;
    color: #5b6678 !important;
    font-size: .88rem !important;
    line-height: 1.62 !important;
}

.wpcsa-threat-evidence__card > a {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    width: fit-content;
    margin-top: auto;
    color: #334155;
    font-size: .79rem;
    font-weight: 750;
    text-decoration: none;
}

.wpcsa-threat-evidence__card > a:hover {
    color: var(--wpcsa-directory-accent, #fb5b1e);
}

@media (max-width: 760px) {
    .wpcsa-threat-evidence__header {
        grid-template-columns: 1fr;
        align-items: start;
    }
}

/* Update methods, v2.8.1 */
.wpcsa-update-methods__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1.25rem;
}
.wpcsa-update-method {
	padding: clamp(1.15rem, 2vw, 1.5rem);
	border: 1px solid var(--wpcsa-border, #e5e7eb);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(15, 23, 42, .045);
}
.wpcsa-update-method h3 {
	margin: .25rem 0 .65rem;
}
.wpcsa-update-method .wpcsa-advisory__codebox {
	margin-top: .75rem;
}
@media (max-width: 760px) {
	.wpcsa-update-methods__grid {
		grid-template-columns: 1fr;
	}
}

/* 2.9.1 — flattened advisory layout: editorial hierarchy without nested cards */
.wpcsa-advisory__layout{
    grid-template-columns:minmax(0,1fr) 270px;
    gap:clamp(30px,4vw,54px);
}

.wpcsa-advisory__content > section{
    margin:0;
    padding:clamp(28px,4vw,46px) 0;
    border:0;
    border-top:1px solid #e7ebf0;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
}

.wpcsa-advisory__content > section:first-child{
    padding-top:0;
    border-top:0;
}

.wpcsa-advisory__content > .wpcsa-analysis-card--advisory{
    margin:0!important;
    padding:0 0 clamp(34px,4vw,48px)!important;
    border:0!important;
    border-bottom:1px solid #e7ebf0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible;
}

.wpcsa-analysis-card--advisory::before{display:none}

.wpcsa-analysis-card__header{
    align-items:end;
    margin-bottom:clamp(24px,3vw,34px);
    padding-bottom:20px;
    border-bottom:1px solid #e7ebf0;
}

.wpcsa-analysis-card__priority{
    min-width:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent!important;
    box-shadow:none;
    text-align:right;
}

.wpcsa-analysis-card__priority span{font-size:.68rem}
.wpcsa-analysis-card__priority strong{font-size:1.08rem}

.wpcsa-analysis-card__body{
    display:block;
}

.wpcsa-analysis-card__primary,
.wpcsa-analysis-card__signals,
.wpcsa-analysis-card__insights article{
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}

.wpcsa-analysis-card__primary{
    max-width:76ch;
}

.wpcsa-analysis-card__primary h3,
.wpcsa-analysis-card__insights h3{
    font-size:1.08rem;
}

.wpcsa-analysis-card__priority-explanation{
    margin-top:1.35rem;
    padding:1rem 0 0;
    border:0;
    border-top:1px solid #e7ebf0;
    border-radius:0;
    background:transparent;
}

.wpcsa-analysis-card__signals{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    margin-top:1.8rem;
    border-top:1px solid #e7ebf0;
    border-bottom:1px solid #e7ebf0;
}

.wpcsa-analysis-card__signal{
    min-width:0;
    padding:1rem 1rem 1rem 0;
    border:0;
    border-right:1px solid #e7ebf0;
    border-radius:0;
    background:transparent;
}

.wpcsa-analysis-card__signal:not(:first-child){padding-left:1rem}
.wpcsa-analysis-card__signal:last-child{border-right:0}

.wpcsa-analysis-card__insights{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    margin-top:1.8rem;
}

.wpcsa-analysis-card__insights article{
    display:grid;
    grid-template-columns:minmax(150px,.32fr) minmax(0,1fr);
    gap:clamp(18px,3vw,34px);
    padding:1.15rem 0;
    border-top:1px solid #e7ebf0;
}

.wpcsa-analysis-card__insights article:last-child{border-bottom:1px solid #e7ebf0}
.wpcsa-analysis-card__insights h3{margin:0}
.wpcsa-analysis-card__keypoints{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1.2rem}

.wpcsa-impact-grid{
    gap:0;
    margin:1.2rem 0 1.5rem;
    border-top:1px solid #e7ebf0;
    border-bottom:1px solid #e7ebf0;
}

.wpcsa-impact-card{
    padding:1.05rem 1.2rem;
    border:0;
    border-right:1px solid #e7ebf0;
    border-radius:0;
    background:transparent;
}
.wpcsa-impact-card:last-child{border-right:0}
.wpcsa-impact-card::before{display:none}

.wpcsa-consequence-list{
    display:block;
    border-top:1px solid #e7ebf0;
}
.wpcsa-consequence-list li{
    padding:.85rem 0 .85rem 1.35rem;
    border:0;
    border-bottom:1px solid #e7ebf0;
    border-radius:0;
    background:transparent;
}
.wpcsa-consequence-list li::before{left:.1rem;top:1.25rem;box-shadow:none}

.wpcsa-advisory__content > .wpcsa-audit-cta{
    grid-template-columns:minmax(0,1fr) auto;
    gap:1.5rem;
    padding:clamp(24px,3vw,34px)!important;
    border:1px solid #dce4ee!important;
    border-radius:18px!important;
    background:#f8fafc!important;
    box-shadow:none;
}
.wpcsa-audit-cta__mark{display:none}
.wpcsa-audit-cta__actions{grid-column:auto;display:grid;grid-template-columns:1fr}

.wpcsa-remediation-grid{
    display:block;
    margin:1rem 0 1.2rem;
    counter-reset:remediation;
    border-top:1px solid #e7ebf0;
}
.wpcsa-remediation-card{
    position:relative;
    display:grid;
    grid-template-columns:minmax(170px,.34fr) minmax(0,1fr);
    gap:clamp(18px,3vw,34px);
    padding:1.25rem 0 1.25rem 3rem;
    border:0;
    border-bottom:1px solid #e7ebf0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    counter-increment:remediation;
}
.wpcsa-remediation-card::before{
    content:counter(remediation);
    position:absolute;
    left:0;
    top:1.15rem;
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:#0f172a;
    color:#fff;
    font-size:.78rem;
    font-weight:800;
}
.wpcsa-remediation-card h3{margin:.25rem 0 0}

.wpcsa-advisory__codebox{
    border:0;
    border-left:3px solid #cbd5e1;
    border-radius:0;
    background:#f8fafc;
}

.wpcsa-advisory__technical{
    border:0;
    border-top:1px solid #e7ebf0;
    border-radius:0;
}
.wpcsa-advisory__technical > div,
.wpcsa-advisory__technical > div:nth-child(even){
    padding:13px 0;
    border-bottom:1px solid #e7ebf0;
    background:transparent;
}

.wpcsa-advisory__aside{
    top:22px;
}
.wpcsa-advisory__panel{
    padding:0 0 24px;
    border:0;
    border-bottom:1px solid #e7ebf0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.wpcsa-advisory__panel + .wpcsa-advisory__panel{margin-top:26px}
.wpcsa-advisory__panel--engine{
    padding:22px;
    border:1px solid #e2e8f0;
    border-radius:16px;
    background:#f8fafc;
}
.wpcsa-engine-disclaimer{padding:0;background:transparent}

@media(max-width:1000px){
    .wpcsa-advisory__layout{grid-template-columns:1fr}
    .wpcsa-advisory__aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
    .wpcsa-advisory__panel + .wpcsa-advisory__panel{margin-top:0}
}

@media(max-width:720px){
    .wpcsa-analysis-card__header{grid-template-columns:1fr;align-items:start}
    .wpcsa-analysis-card__priority{text-align:left}
    .wpcsa-analysis-card__signals{grid-template-columns:repeat(2,minmax(0,1fr))}
    .wpcsa-analysis-card__signal:nth-child(2){border-right:0}
    .wpcsa-analysis-card__signal:nth-child(n+3){border-top:1px solid #e7ebf0}
    .wpcsa-analysis-card__insights article,
    .wpcsa-remediation-card{grid-template-columns:1fr}
    .wpcsa-analysis-card__keypoints{grid-template-columns:1fr}
    .wpcsa-impact-grid{grid-template-columns:1fr}
    .wpcsa-impact-card{border-right:0;border-bottom:1px solid #e7ebf0}
    .wpcsa-impact-card:last-child{border-bottom:0}
    .wpcsa-advisory__content > .wpcsa-audit-cta{grid-template-columns:1fr}
    .wpcsa-advisory__aside{grid-template-columns:1fr}
}


/* 2.9.2 — Contraste garanti des actions principales */
.wpcsa-audit-cta__actions .wpcsa-button--primary,
.wpcsa-audit-cta__actions .wpcsa-button--primary:visited,
.wpcsa-audit-cta__actions .wpcsa-button--primary:hover,
.wpcsa-audit-cta__actions .wpcsa-button--primary:focus {
    color: #fff !important;
    background: var(--wpcsa-directory-accent, #fb5b1e) !important;
    border-color: var(--wpcsa-directory-accent, #fb5b1e) !important;
}


/* 2.9.6 — Hero éditorial pleine largeur pour les fiches CVE */
.wpcsa-advisory > .wpcsa-breadcrumbs {
    margin: 0 0 12px;
}

.wpcsa-advisory__hero {
    --wpcsa-hero-accent: #fb5b1e;
    position: relative;
    display: block;
    margin: 0 0 clamp(42px, 6vw, 72px);
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    color: #fff;
    background:
        radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--wpcsa-hero-accent) 30%, transparent) 0, transparent 34%),
        linear-gradient(130deg, #08111f 0%, #101b2d 58%, #15233a 100%);
    box-shadow: none;
    isolation: isolate;
}

.wpcsa-advisory__hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .26;
    background-image:
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.5) 62%, transparent 100%);
}

.wpcsa-advisory__hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 4px;
    background: linear-gradient(90deg, var(--wpcsa-hero-accent), color-mix(in srgb, var(--wpcsa-hero-accent) 42%, transparent), transparent 72%);
}

.wpcsa-advisory__hero--critical { --wpcsa-hero-accent: #ff5a4f; }
.wpcsa-advisory__hero--high { --wpcsa-hero-accent: #ff754f; }
.wpcsa-advisory__hero--medium { --wpcsa-hero-accent: #ffad32; }
.wpcsa-advisory__hero--low { --wpcsa-hero-accent: #55a7ff; }
.wpcsa-advisory__hero--informational,
.wpcsa-advisory__hero--none { --wpcsa-hero-accent: #98a2b3; }

.wpcsa-advisory__hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(150px, auto);
    gap: clamp(34px, 6vw, 86px);
    align-items: end;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: clamp(52px, 7vw, 92px) clamp(24px, 4vw, 56px);
}

.wpcsa-advisory__hero .wpcsa-directory__eyebrow {
    margin-bottom: 18px;
    color: var(--wpcsa-hero-accent);
    font-size: 13px;
    letter-spacing: .14em;
}

.wpcsa-advisory__identity h1 {
    max-width: 980px;
    color: #fff;
    font-size: clamp(46px, 6.5vw, 84px);
    line-height: .96;
    letter-spacing: -.058em;
}

.wpcsa-advisory__subtitle {
    max-width: 900px;
    margin-top: 24px;
    color: #cbd5e1;
    font-size: clamp(17px, 1.8vw, 22px);
    line-height: 1.58;
}

.wpcsa-advisory__hero-meta {
    gap: 10px;
    margin-top: 28px;
}

.wpcsa-advisory__hero-meta span {
    padding: .55rem .8rem;
    border-color: rgba(255,255,255,.16);
    color: #f8fafc;
    background: rgba(255,255,255,.075);
    backdrop-filter: blur(6px);
}

.wpcsa-advisory__score {
    position: relative;
    display: grid;
    align-content: end;
    justify-items: start;
    min-width: 160px;
    padding: 0 0 4px 30px;
    border: 0;
    border-left: 1px solid rgba(255,255,255,.2);
    border-radius: 0;
    color: #fff;
    background: transparent;
}

.wpcsa-advisory__score span {
    color: var(--wpcsa-hero-accent);
    font-size: 12px;
    letter-spacing: .12em;
}

.wpcsa-advisory__score strong {
    margin-top: 7px;
    font-size: clamp(58px, 7vw, 92px);
    font-weight: 850;
    line-height: .86;
    letter-spacing: -.07em;
}

.wpcsa-advisory__score small {
    margin-top: 12px;
    color: #94a3b8;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .13em;
    text-transform: uppercase;
}

@media (max-width: 780px) {
    .wpcsa-advisory > .wpcsa-breadcrumbs { margin-bottom: 10px; }
    .wpcsa-advisory__hero-inner {
        grid-template-columns: 1fr;
        gap: 34px;
        padding-block: 46px 52px;
    }
    .wpcsa-advisory__score {
        grid-template-columns: auto auto auto;
        align-items: end;
        justify-content: start;
        gap: 9px;
        min-width: 0;
        padding: 22px 0 0;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.2);
    }
    .wpcsa-advisory__score strong { margin: 0; font-size: 54px; }
    .wpcsa-advisory__score small { margin: 0 0 6px; }
}

@media (max-width: 560px) {
    .wpcsa-advisory__identity h1 { font-size: clamp(40px, 12vw, 58px); }
    .wpcsa-advisory__hero-inner { padding-inline: 20px; }
    .wpcsa-advisory__hero-meta span { width: fit-content; }
}


/* 2.9.7 — Hero pleine largeur, fil d’Ariane dessous et sections plus éditoriales */
.wpcsa-advisory__hero {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-bottom: 22px;
}

.wpcsa-advisory > .wpcsa-breadcrumbs {
    max-width: 1240px;
    margin: 0 auto 28px;
    padding: 0 24px;
}

.wpcsa-analysis-card--advisory {
    padding: clamp(26px, 3vw, 34px);
    border: 1px solid #e7ebf0 !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.wpcsa-analysis-card__body--editorial {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .75fr);
    gap: 1.25rem;
    align-items: start;
}

.wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__primary,
.wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__signals {
    min-height: 100%;
}

.wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__primary {
    padding: 0;
    border: 0;
    background: transparent;
}

.wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__signals {
    align-content: start;
    padding: 0;
    border: 0;
    border-left: 1px solid #e7ebf0;
    border-radius: 0;
    background: transparent;
}

.wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__signal {
    padding: .9rem 1.05rem;
}

.wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__lead {
    margin-top: 0;
}

.wpcsa-threat-evidence {
    padding: 0 !important;
    border: 1px solid #e7ebf0 !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: hidden;
}

.wpcsa-threat-evidence__header {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    gap: 1.5rem;
    align-items: end;
    margin: 0;
    padding: clamp(24px, 3vw, 34px);
    border-bottom: 1px solid #e7ebf0;
}

.wpcsa-threat-evidence__header h2 {
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.04;
    letter-spacing: -.045em;
}

.wpcsa-threat-evidence__header > p {
    max-width: 42ch;
    justify-self: end;
}

.wpcsa-threat-evidence__grid {
    gap: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wpcsa-threat-evidence__card {
    min-height: 0;
    padding: clamp(22px, 2.4vw, 28px);
    border: 0;
    border-right: 1px solid #e7ebf0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

.wpcsa-threat-evidence__card:last-child {
    border-right: 0;
}

.wpcsa-threat-evidence__card::before {
    inset: 0 0 auto 0;
    height: 4px;
}

.wpcsa-threat-evidence__card > strong {
    margin-bottom: .75rem;
    font-size: clamp(1.1rem, 1.6vw, 1.35rem);
    line-height: 1.3;
}

.wpcsa-threat-evidence__card > p {
    margin-bottom: 1.2rem !important;
    font-size: .94rem !important;
    line-height: 1.72 !important;
}

.wpcsa-threat-evidence__card > a {
    margin-top: auto;
    color: #0f172a;
    font-size: .84rem;
}

.wpcsa-threat-evidence__card > a:hover {
    color: var(--wpcsa-directory-accent, #fb5b1e);
}

@media (max-width: 980px) {
    .wpcsa-analysis-card__body--editorial {
        grid-template-columns: 1fr;
    }

    .wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__signals {
        border-left: 0;
        border-top: 1px solid #e7ebf0;
        padding-top: .5rem;
    }

    .wpcsa-threat-evidence__header,
    .wpcsa-threat-evidence__grid {
        grid-template-columns: 1fr;
    }

    .wpcsa-threat-evidence__header > p {
        justify-self: start;
        max-width: none;
    }

    .wpcsa-threat-evidence__card {
        border-right: 0;
        border-bottom: 1px solid #e7ebf0;
    }

    .wpcsa-threat-evidence__card:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 640px) {
    .wpcsa-advisory > .wpcsa-breadcrumbs {
        padding-inline: 20px;
    }
}


/* 2.9.8 — suppression de l’espace entre le header du site et le hero CVE */
.wpcsa-advisory.wpcsa-knowledge {
    padding-top: 0;
}

.wpcsa-advisory__hero {
    margin-top: 0;
}


/* 2.9.9 — neutralisation de l’espacement ajouté par les modèles FSE sur les fiches CVE */
body:has(.wpcsa-advisory) .wp-site-blocks > main,
body:has(.wpcsa-advisory) main.wp-block-group,
body:has(.wpcsa-advisory) .wp-block-post-content,
body:has(.wpcsa-advisory) .entry-content,
body:has(.wpcsa-advisory) .site-content,
body:has(.wpcsa-advisory) .content-area {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
}

body:has(.wpcsa-advisory) .wp-block-post-content > :first-child,
body:has(.wpcsa-advisory) .entry-content > :first-child,
body:has(.wpcsa-advisory) main:has(.wpcsa-advisory) > :first-child {
    margin-block-start: 0 !important;
}

body:has(.wpcsa-advisory) .wp-site-blocks > :has(.wpcsa-advisory),
body:has(.wpcsa-advisory) main:has(.wpcsa-advisory),
body:has(.wpcsa-advisory) .wp-block-group:has(> .wp-block-post-content .wpcsa-advisory) {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Repli pour les thèmes qui appliquent leur espace directement au bloc de contenu. */
.wpcsa-advisory {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* 2.10.0 — grille stable des signaux de sécurité */
.wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__signals {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid #e7ebf0;
    border-radius: 16px;
    background: #fff;
}

.wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__signal,
.wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__signal:not(:first-child) {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-width: 0;
    min-height: 98px;
    padding: 1rem;
    border: 0;
    border-right: 1px solid #e7ebf0;
    border-bottom: 1px solid #e7ebf0;
    background: #fff;
}

.wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__signal:nth-child(2n) {
    border-right: 0;
}

.wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__signal:nth-last-child(-n+2) {
    border-bottom: 0;
}

.wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__signal:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    border-right: 0;
    border-bottom: 0;
}

.wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__signal span {
    display: block;
    margin: 0 0 .45rem;
    color: #7b8495;
    font-size: .7rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: .055em;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__signal strong {
    display: block;
    color: #111827;
    font-size: .98rem;
    font-weight: 750;
    line-height: 1.45;
    overflow-wrap: anywhere;
    word-break: normal;
}

@media (max-width: 560px) {
    .wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__signals {
        grid-template-columns: 1fr;
    }

    .wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__signal,
    .wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__signal:not(:first-child),
    .wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__signal:nth-child(2n),
    .wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__signal:nth-last-child(-n+2) {
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid #e7ebf0;
    }

    .wpcsa-analysis-card__body--editorial .wpcsa-analysis-card__signal:last-child {
        border-bottom: 0;
    }
}


/* 2.11.0 — rendu progressif sans retirer le contenu du HTML initial */
.wpcsa-directory__grid > .wpcsa-directory-card:nth-child(n+5) {
    content-visibility: auto;
    contain-intrinsic-size: auto 520px;
}

@media (max-width: 760px) {
    .wpcsa-directory__grid > .wpcsa-directory-card:nth-child(n+3) {
        content-visibility: auto;
        contain-intrinsic-size: auto 620px;
    }
}
