/*
Theme Name: Divi Child
Theme URI: https://rule29.co.uk
Description: Divi Child Theme
Author: Rule29
Template: Divi
Version: 1.0
*/
/* =========================================================
   Rule29 Diagnostic Report
   single-diagnostic_report.php
========================================================= */

.r29-diagnostic-report {
    max-width: 960px;
    margin: 40px auto;
    padding: 48px 56px;
    background: #ffffff;
    border: 1px solid #e6e6e6;
    box-shadow: 0 8px 30px rgba(0,0,0,0.05);
    color: #1f1f1f;
    line-height: 1.6;
}

.r29-diagnostic-report h1,
.r29-diagnostic-report h2,
.r29-diagnostic-report h3 {
    color: #111;
    margin: 0 0 14px 0;
    line-height: 1.25;
}

.r29-diagnostic-report h1 {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 18px;
}

.r29-diagnostic-report h2 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 18px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e9e9e9;
}

.r29-diagnostic-report h3 {
    font-size: 19px;
    font-weight: 600;
    margin-bottom: 12px;
}

.r29-diagnostic-report p {
    margin: 0 0 12px 0;
    font-size: 16px;
}

.r29-diagnostic-report section {
    margin-top: 36px;
}

.r29-report-header {
    padding-bottom: 20px;
    border-bottom: 2px solid #111;
}

.r29-report-header p {
    margin-bottom: 6px;
    font-size: 15px;
}

/* Executive summary card */
.r29-report-summary {
    padding: 24px 28px;
    background: #fafafa;
    border: 1px solid #ececec;
    border-radius: 12px;
}

.r29-executive-summary-copy {
    margin-top: 16px;
}

/* Score table */
.r29-score-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 12px;
    font-size: 15px;
}

.r29-score-table th,
.r29-score-table td {
    padding: 12px 14px;
    border-bottom: 1px solid #e7e7e7;
    text-align: left;
    vertical-align: top;
}

.r29-score-table th {
    background: #f6f6f6;
    font-weight: 700;
    color: #111;
}

.r29-score-table tr:hover td {
    background: #fafafa;
}

/* Intro / outro */
.r29-commentary-intro,
.r29-commentary-outro {
    padding: 22px 24px;
    background: #fafafa;
    border-left: 4px solid #111;
}

/* Priority areas */
.r29-priority-areas .r29-priority-item {
    margin-bottom: 24px;
    padding: 22px 24px;
    border: 1px solid #e7e7e7;
    border-left: 5px solid #111;
    background: #fcfcfc;
    border-radius: 10px;
}

.r29-priority-areas h3 {
    margin-bottom: 10px;
}

/* Strengths */
.r29-strengths .r29-strength-item {
    margin-bottom: 24px;
    padding: 22px 24px;
    border: 1px solid #e7e7e7;
    background: #fafafa;
    border-radius: 10px;
}

/* Detailed analysis */
.r29-analysis-block {
    margin-bottom: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid #ececec;
}

.r29-analysis-block:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

/* Commentary body */
.r29-commentary p:last-child,
.r29-next-steps-copy p:last-child,
.r29-executive-summary-copy p:last-child {
    margin-bottom: 0;
}

/* Next steps */
.r29-next-steps {
    padding: 24px 28px;
    background: #111;
    color: #fff;
    border-radius: 12px;
}

.r29-next-steps h2,
.r29-next-steps h3,
.r29-next-steps p,
.r29-next-steps li,
.r29-next-steps strong {
    color: #fff;
}

.r29-next-steps h2 {
    border-bottom-color: rgba(255,255,255,0.2);
}

/* Make the whole page background softer */
body.single-diagnostic_report {
    background: #f3f3f3;
}

/* Improve default WP content spacing inside WYSIWYG output */
.r29-diagnostic-report ul,
.r29-diagnostic-report ol {
    margin: 0 0 16px 22px;
}

.r29-diagnostic-report li {
    margin-bottom: 6px;
}

/* Responsive */
@media (max-width: 980px) {
    .r29-diagnostic-report {
        margin: 24px 16px;
        padding: 32px 24px;
    }

    .r29-diagnostic-report h1 {
        font-size: 28px;
    }

    .r29-diagnostic-report h2 {
        font-size: 22px;
    }

    .r29-diagnostic-report h3 {
        font-size: 18px;
    }

    .r29-score-table th,
    .r29-score-table td {
        padding: 10px 10px;
        font-size: 14px;
    }
}

@media (max-width: 640px) {
    .r29-diagnostic-report {
        padding: 24px 18px;
    }

    .r29-report-summary,
    .r29-next-steps,
    .r29-commentary-intro,
    .r29-commentary-outro,
    .r29-priority-areas .r29-priority-item,
    .r29-strengths .r29-strength-item {
        padding: 18px;
    }

    .r29-diagnostic-report h1 {
        font-size: 24px;
    }

    .r29-diagnostic-report h2 {
        font-size: 20px;
    }

    .r29-diagnostic-report p {
        font-size: 15px;
    }
}