/* =========================================================
   INCLUSIVELINK
   RESULTS PAGE REDESIGN
   ========================================================= */


/* =========================================================
   PAGE
   ========================================================= */

.results-page {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto 55px;
}


/* =========================================================
   PAGE HEADER
   ========================================================= */

.results-page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 24px;
}

.results-header-copy {
    max-width: 650px;
}

.results-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.results-header-primary,
.results-header-secondary {
    min-height: 43px;
    padding: 0 18px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    border-radius: 8px;

    font-size: 10px;
    font-weight: 800;
    text-decoration: none;

    transition:
        transform 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease;
}

.results-header-primary {
    background: #12376d;
    color: #ffffff;
    border: 1px solid #12376d;
}

.results-header-primary:hover {
    background: #0d2b59;
    transform: translateY(-1px);
    box-shadow: 0 5px 14px rgba(18, 55, 109, 0.16);
}

.results-header-secondary {
    background: #ffffff;
    color: #173765;
    border: 1px solid #cfdbe9;
}

.results-header-secondary:hover {
    background: #f6f9fc;
    transform: translateY(-1px);
}


/* =========================================================
   SHARED CARDS
   ========================================================= */

.results-card,
.results-overview-card,
.results-persona-card,
.results-review-card {
    background: #ffffff;

    border: 1px solid #dce5ef;
    border-radius: 12px;

    box-shadow:
        0 5px 16px rgba(27, 48, 81, 0.045);
}

.results-card-kicker {
    display: block;
    margin-bottom: 4px;

    color: #3675ba;

    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.7px;
}


/* =========================================================
   TOP GRID
   ========================================================= */

.results-top-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        245px;

    gap: 12px;

    margin-bottom: 12px;
}


/* =========================================================
   MAIN OVERVIEW CARD
   ========================================================= */

.results-overview-card {
    min-height: 238px;

    display: grid;

    grid-template-columns:
        205px
        minmax(0, 1fr)
        250px;

    overflow: hidden;
}


/* =========================================================
   SCORE RING
   ========================================================= */

.results-score-area {
    display: flex;
    align-items: center;
    justify-content: center;

    padding: 22px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f8fbff
        );
}

.results-score-ring {
    width: 168px;
    height: 168px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        conic-gradient(
            #2f86ed 0 var(--score-percent),
            #e6edf5 var(--score-percent) 100%
        );

    transform: rotate(-90deg);

    box-shadow:
        0 6px 18px rgba(47, 134, 237, 0.10);
}

.results-score-ring-inner {
    width: 136px;
    height: 136px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    background: #ffffff;

    border-radius: 50%;

    transform: rotate(90deg);

    box-shadow:
        inset 0 0 0 1px #e5ebf2;
}

.results-score-ring-inner strong {
    color: #073b8f;

    font-size: 36px;
    line-height: 1;

    font-weight: 800;
}

.results-score-ring-inner > span {
    margin-top: 3px;

    color: #50678c;

    font-size: 11px;
    font-weight: 700;
}

.results-score-ring-inner small {
    margin-top: 10px;

    color: #64799a;

    font-size: 9px;
    font-weight: 500;
}


/* =========================================================
   OVERVIEW CONTENT
   ========================================================= */

.results-overview-content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 26px 24px;
}

.results-overview-content h3 {
    margin: 0 0 8px;

    color: #06377f;

    font-size: 19px;
}

.results-overview-description {
    max-width: 570px;

    margin: 0 0 17px;

    color: #50678c;

    font-size: 10px;
    line-height: 1.6;
}


/* =========================================================
   RISK BOX
   ========================================================= */

.results-risk-box {
    display: flex;
    align-items: flex-start;

    gap: 12px;

    padding: 12px 14px;

    border-left: 3px solid;
    border-radius: 8px;
}

.results-risk-icon {
    width: 30px;
    height: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border-radius: 50%;

    font-size: 13px;
    font-weight: 900;
}

.results-risk-badge {
    display: inline-flex;

    padding: 4px 10px;

    border-radius: 999px;

    font-size: 9px;
    font-weight: 800;
}

.results-risk-box p {
    margin: 7px 0 0;

    color: #52647f;

    font-size: 9px;
    line-height: 1.55;
}


/* MODERATE */

.risk-moderate {
    background:
        linear-gradient(
            90deg,
            #fff9e9,
            #fff8e8
        );

    border-color: #f4ad00;
}

.risk-moderate .results-risk-icon {
    background: #ffb800;
    color: #ffffff;
}

.risk-moderate .results-risk-badge {
    background: #ffe7a3;
    color: #624300;
}


/* HIGH */

.risk-high {
    background: #fff0f0;
    border-color: #e84c4c;
}

.risk-high .results-risk-icon {
    background: #e84c4c;
    color: #ffffff;
}

.risk-high .results-risk-badge {
    background: #ffd9d9;
    color: #9d2d2d;
}


/* LOW */

.risk-low {
    background: #eefaf2;
    border-color: #17a65b;
}

.risk-low .results-risk-icon {
    background: #17a65b;
    color: #ffffff;
}

.risk-low .results-risk-badge {
    background: #d8f3e3;
    color: #267349;
}


/* =========================================================
   EVALUATION DETAILS
   ========================================================= */

.results-evaluation-details {
    padding: 20px 20px;

    border-left: 1px solid #dce5ef;
}

.results-evaluation-details h4 {
    margin: 0 0 13px;

    color: #073b83;

    font-size: 11px;
}

.results-detail-list {
    display: flex;
    flex-direction: column;

    gap: 9px;
}

.results-detail-row {
    display: flex;
    align-items: center;

    gap: 9px;
}

.results-detail-icon {
    width: 29px;
    height: 29px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    background: #edf5ff;
    color: #1675e5;

    border-radius: 8px;

    font-size: 10px;
    font-weight: 800;
}

.results-detail-row > div:last-child {
    min-width: 0;

    display: flex;
    flex-direction: column;

    gap: 1px;
}

.results-detail-row span {
    color: #7083a2;

    font-size: 8px;
}

.results-detail-row strong {
    overflow: hidden;

    color: #173765;

    font-size: 8px;
    font-weight: 700;

    white-space: nowrap;
    text-overflow: ellipsis;
}


/* =========================================================
   PERSONA CARD
   ========================================================= */

.results-persona-card {
    padding: 16px;

    display: flex;
    flex-direction: column;
}

.results-persona-top {
    display: flex;
    align-items: center;

    gap: 11px;

    margin-bottom: 13px;
}

.results-persona-image {
    width: 66px;
    height: 66px;

    object-fit: cover;

    border: 1px solid #d7e1ec;
    border-radius: 50%;
}

.results-persona-heading {
    min-width: 0;
}

.results-persona-type {
    display: inline-flex;

    max-width: 100%;

    margin-bottom: 7px;
    padding: 4px 8px;

    background: #dceeff;
    color: #1870d5;

    border-radius: 999px;

    font-size: 7px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: 0.35px;
}

.results-persona-heading h3 {
    margin: 0;

    color: #073b83;

    font-size: 15px;
}

.results-persona-description {
    margin: 0 0 16px;

    color: #52678a;

    font-size: 9px;
    line-height: 1.6;
}

.results-persona-button {
    min-height: 37px;

    margin-top: auto;
    padding: 0 14px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 15px;

    align-self: flex-start;

    background: #edf5ff;
    color: #0753af;

    border-radius: 8px;

    font-size: 9px;
    font-weight: 800;

    text-decoration: none;
}

.results-persona-button:hover {
    background: #e2efff;
}


/* =========================================================
   MAIN LOWER GRID
   ========================================================= */

.results-main-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        340px;

    align-items: stretch;

    gap: 12px;

    margin-bottom: 12px;
}

.results-main-left {
    min-width: 0;

    display: flex;
    flex-direction: column;

    gap: 12px;
}


/* =========================================================
   SECTION HEADINGS
   ========================================================= */

.results-section-heading {
    display: flex;
    align-items: center;

    gap: 11px;

    margin-bottom: 14px;
}

.results-section-heading-icon {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    background: #eaf4ff;
    color: #1675e5;

    border-radius: 9px;

    font-size: 14px;
    font-weight: 800;
}

.results-section-heading h3,
.results-icon-heading h3,
.results-language-info h3,
.results-review-content h3 {
    margin: 0 0 3px;

    color: #073b83;

    font-size: 16px;
}

.results-section-heading p,
.results-icon-heading p,
.results-language-info p,
.results-review-content p {
    margin: 0;

    color: #7183a0;

    font-size: 9px;
    line-height: 1.5;
}


/* =========================================================
   CATEGORY SCORES
   ========================================================= */

.results-category-card {
    padding: 14px;
}

.results-score-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 8px;
}

.results-category-box {
    min-width: 0;

    position: relative;

    padding: 13px 12px 14px;

    background: #ffffff;

    border: 1px solid #dfe7f0;
    border-radius: 9px;
}

.results-category-header {
    min-height: 32px;

    display: flex;
    align-items: center;

    gap: 8px;

    padding-right: 40px;
}

.results-category-icon {
    width: 32px;
    height: 32px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    background: #eaf4ff;
    color: #1774dd;

    border-radius: 8px;

    font-size: 11px;
    font-weight: 800;
}

.results-category-header > span {
    color: #073b83;

    font-size: 9px;
    font-weight: 800;
}

.results-category-score {
    position: absolute;

    top: 19px;
    right: 12px;
}

.results-category-score strong {
    color: #073b83;

    font-size: 10px;
}

.results-progress-track {
    width: 100%;
    height: 6px;

    margin-top: 14px;

    overflow: hidden;

    background: #e7edf4;

    border-radius: 999px;
}

.results-progress-fill {
    height: 100%;

    border-radius: 999px;
}


/* SCORE COLOURS */

.score-clarity .results-progress-fill {
    background: #2f86ed;
}

.score-accessibility .results-progress-fill {
    background: #f2b400;
}

.score-language-support .results-progress-fill {
    background: #f14d52;
}

.score-inclusive .results-progress-fill {
    background: #0aa95a;
}

.results-category-box > p {
    margin: 11px 0 0;

    color: #5d7191;

    font-size: 8px;
    line-height: 1.55;
}


/* =========================================================
   FINDINGS
   ========================================================= */

.results-findings-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 12px;

    flex: 1;
}

.results-issues-card,
.results-suggestions-card {
    padding: 14px;
}

.results-icon-heading {
    display: flex;
    align-items: center;

    gap: 10px;

    margin-bottom: 12px;
}

.results-heading-icon {
    width: 39px;
    height: 39px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border-radius: 9px;

    font-size: 14px;
    font-weight: 800;
}

.issue-icon {
    background: #ffe8e8;
    color: #ef3338;
}

.suggestion-icon {
    background: #def5e8;
    color: #13a05a;
}

.language-icon,
.review-icon {
    background: #e9f3ff;
    color: #1675e5;
}


/* =========================================================
   ISSUE / SUGGESTION LISTS
   ========================================================= */

.results-list {
    display: flex;
    flex-direction: column;

    gap: 6px;
}

.results-list-item {
    display: flex;
    align-items: flex-start;

    gap: 9px;

    padding: 9px;

    border-radius: 8px;
}

.issue-list-item {
    background: #fff7f7;
    border: 1px solid #f8dddd;
}

.suggestion-list-item {
    background: #f5fbf7;
    border: 1px solid #dcefe3;
}

.results-list-item p {
    margin: 1px 0 0;

    color: #526681;

    font-size: 8px;
    line-height: 1.5;
}

.results-list-number {
    width: 22px;
    height: 22px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border-radius: 50%;

    font-size: 8px;
    font-weight: 800;
}

.issue-number {
    background: #ffdcdc;
    color: #ef3d43;
}

.suggestion-number {
    background: #d8f1e2;
    color: #149557;
}


/* =========================================================
   YOUR MESSAGE - RIGHT COLUMN
   ========================================================= */

.results-message-card {
    min-width: 0;

    padding: 14px;

    display: flex;
    flex-direction: column;
}

.results-message-section {
    min-width: 0;
}

.results-message-label {
    display: inline-flex;

    margin-bottom: 7px;
    padding: 4px 8px;

    border-radius: 6px;

    font-size: 8px;
    font-weight: 800;
}

.original-label {
    background: #ffdfe2;
    color: #7f2930;
}

.adapted-label {
    background: #d8f2e1;
    color: #27784a;
}

.results-message-box {
    min-height: 160px;

    padding: 12px;

    border-radius: 8px;

    color: #405777;

    font-size: 9px;
    line-height: 1.65;

    white-space: pre-line;
}

.original-message {
    background:
        linear-gradient(
            135deg,
            #fff9f9,
            #fff3f4
        );

    border: 1px solid #f3dadd;
}

.adapted-message {
    background:
        linear-gradient(
            135deg,
            #f7fcf9,
            #eef9f3
        );

    border: 1px solid #d6ebdf;
}

.results-message-arrow {
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #0871e2;

    font-size: 20px;
    font-weight: 800;
}


/* =========================================================
   BOTTOM CONTROLS
   ========================================================= */

.results-bottom-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 12px;
}

.results-language-card,
.results-review-card {
    min-height: 92px;

    padding: 15px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;
}

.results-language-info,
.results-review-content {
    display: flex;
    align-items: center;

    gap: 11px;
}

.results-language-form {
    display: flex;
    align-items: flex-end;

    gap: 8px;
}

.results-language-field {
    display: flex;
    flex-direction: column;

    gap: 5px;
}

.results-language-field label {
    color: #627691;

    font-size: 8px;
    font-weight: 700;
}

.results-language-field select {
    min-width: 150px;
    height: 36px;

    padding: 0 9px;

    background: #ffffff;
    color: #405673;

    border: 1px solid #ccd8e5;
    border-radius: 7px;

    font-family: inherit;
    font-size: 8px;

    outline: none;
}

.results-review-actions {
    display: flex;
    align-items: center;

    gap: 8px;

    flex-shrink: 0;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.results-primary-button,
.results-secondary-button {
    min-height: 36px;

    padding: 0 13px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 7px;

    font-family: inherit;

    font-size: 8px;
    font-weight: 800;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        background 0.2s ease;
}

.results-primary-button {
    background: #12376d;
    color: #ffffff;

    border: 1px solid #12376d;
}

.results-primary-button:hover {
    background: #0c2b59;
    transform: translateY(-1px);
}

.results-secondary-button {
    background: #ffffff;
    color: #244b78;

    border: 1px solid #ccd8e5;
}

.results-secondary-button:hover {
    background: #f4f8fc;
    transform: translateY(-1px);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1150px) {

    .results-top-grid {
        grid-template-columns: 1fr;
    }

    .results-persona-card {
        display: grid;

        grid-template-columns:
            auto
            minmax(0, 1fr)
            auto;

        align-items: center;

        gap: 18px;
    }

    .results-persona-top {
        margin-bottom: 0;
    }

    .results-persona-description {
        margin: 0;
    }

    .results-persona-button {
        margin-top: 0;
    }

    .results-main-grid {
        grid-template-columns: 1fr;
    }

    .results-message-card {
        display: grid;

        grid-template-columns:
            minmax(0, 1fr)
            45px
            minmax(0, 1fr);

        align-items: center;

        gap: 10px;
    }

    .results-message-card > .results-section-heading {
        grid-column: 1 / -1;
    }

    .results-message-arrow {
        transform: rotate(-90deg);
    }

}


@media (max-width: 950px) {

    .results-overview-card {
        grid-template-columns:
            180px
            minmax(0, 1fr);
    }

    .results-evaluation-details {
        grid-column: 1 / -1;

        border-left: none;
        border-top: 1px solid #dce5ef;
    }

    .results-detail-list {
        display: grid;

        grid-template-columns:
            repeat(5, minmax(0, 1fr));
    }

    .results-score-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .results-bottom-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 700px) {

    .results-page-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .results-header-actions {
        width: 100%;
    }

    .results-header-primary,
    .results-header-secondary {
        flex: 1;
    }

    .results-overview-card {
        grid-template-columns: 1fr;
    }

    .results-score-area {
        padding: 24px;
    }

    .results-evaluation-details {
        grid-column: auto;
    }

    .results-detail-list {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .results-persona-card {
        display: flex;

        align-items: stretch;
    }

    .results-persona-top {
        margin-bottom: 12px;
    }

    .results-persona-description {
        margin-bottom: 14px;
    }

    .results-score-grid,
    .results-findings-grid {
        grid-template-columns: 1fr;
    }

    .results-message-card {
        display: flex;
    }

    .results-message-arrow {
        transform: none;
    }

    .results-language-card,
    .results-review-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .results-language-form,
    .results-review-actions {
        width: 100%;
    }

    .results-language-field {
        flex: 1;
    }

    .results-language-field select {
        width: 100%;
    }

}


@media (max-width: 480px) {

    .results-header-actions,
    .results-language-form,
    .results-review-actions {
        flex-direction: column;

        align-items: stretch;
    }

    .results-header-primary,
    .results-header-secondary,
    .results-primary-button,
    .results-secondary-button {
        width: 100%;
    }

    .results-detail-list {
        grid-template-columns: 1fr;
    }

}