:root {
    /* Brand tokens: track the active theme's palette when its presets
       exist, fall back to the brand values when they don't. */
    --fp-pink: var(--wp--preset--color--brand-pink, var(--wp--preset--color--brand-pink));
    --fp-pink-dark: var(--wp--preset--color--brand-pink-dark, var(--wp--preset--color--brand-pink-dark));
    --fp-green: var(--wp--preset--color--brand-green, var(--wp--preset--color--brand-green));
    --fp-green-dark: var(--wp--preset--color--brand-green-dark, var(--wp--preset--color--brand-green-dark));
    --fp-charcoal: var(--wp--preset--color--charcoal, var(--wp--preset--color--charcoal));
    --fp-ink: var(--wp--preset--color--ink, #313131);
    --fp-border: var(--wp--preset--color--line, var(--wp--preset--color--line));
    --fp-content-width: 1266px;
}

/* foran/cve-* blocks — front end and editor */

.fp-cve-welcome {
    color: var(--fp-pink);
}

/* Match the live account-details table: full-width grid with 1em cells
   (the classic generic `th, td` styling), not a compact dotted list. */
.fp-cve-details {
    border-collapse: collapse;
    width: 100%;
}

.fp-cve-details td {
    padding: 1em;
    border: 1px solid #ddd;
    vertical-align: top;
}


.fp-cve-results h4 {
    color: var(--fp-pink);
    margin: 1rem 0 0.4375rem;
}

/* Results as a card-style table: charcoal header, zebra rows, pass/fail
   badges and a button-styled certificate download. */
.fp-cve-results table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    margin: 0 0 1.5rem;
    border: 1px solid var(--fp-border);
    border-radius: 6px;
    overflow: hidden;
}

.fp-cve-results th,
.fp-cve-results td {
    text-align: left;
    vertical-align: middle;
    padding: 10px 14px;
    border: 0;
}

.fp-cve-results th {
    background: var(--fp-charcoal);
    color: #fff;
    font-weight: 700;
}

.fp-cve-results td {
    border-top: 1px solid var(--fp-border);
}

.fp-cve-results tbody tr:nth-child(even) td {
    background: #faf9f7;
}

.fp-cve-results__badge {
    display: inline-block;
    padding: 2px 12px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.fp-cve-results__badge.is-pass {
    background: #e7f2de;
    color: var(--fp-green-dark);
}

.fp-cve-results__badge.is-fail {
    background: #fbe0ec;
    color: var(--fp-pink);
}

.fp-cve-results__download {
    display: inline-block;
    background: var(--fp-green);
    color: #fff !important;
    font-weight: 700;
    padding: 4px 16px;
    border-radius: 4px;
    text-decoration: none;
}

.fp-cve-results__download:hover,
.fp-cve-results__download:focus {
    background: var(--fp-green-dark);
    color: #fff;
}

/* Auth-form specifics on top of the shared .fp-form styles
   (foran-blocks-style, required via Requires Plugins) */
.fp-form__field--terms label {
    font-weight: 400;
}

.fp-form__field--terms input {
    margin-right: 0.5em;
}

/* NB: the narrow, centred presentation of the standalone auth pages
   (log-in / register / reset) is handled at the container level by the
   theme (body.fp-auth-page .contain → 40em, classic .contain-restrict-max
   parity). The auth form fills that container, matching the live site. */
