/* ==========================================================================
   REVIEW TEMPLATE STYLES
   ========================================================================== */

/* Testing Section */
.rv-testing-section {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.rv-testing-details {
    border-left-color: var(--rv-brand-accent);
}

.rv-testing-stat {
    min-width: 200px;
}

.rv-stat-value {
    font-variant-numeric: tabular-nums;
}

/* Pros & Cons */
.rv-pros-card,
.rv-cons-card {
    box-shadow: var(--rv-shadow-sm);
    transition: box-shadow var(--rv-transition), transform var(--rv-transition);
}

.rv-pros-card:hover,
.rv-cons-card:hover {
    box-shadow: var(--rv-shadow-hover);
    transform: translateY(-2px);
}

.rv-pros,
.rv-cons {
    margin: 0;
    padding: 0;
}

.rv-pros-list,
.rv-cons-list {
    list-style: none !important;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.rv-pros-list li,
.rv-cons-list li {
    list-style: none !important;
    padding-left: 0;
    margin-bottom: 0;
    position: relative;
    line-height: 1.6;
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.rv-pros-list li::before,
.rv-cons-list li::before {
    content: none;
}

.rv-pros-list li .rv-icon,
.rv-pros .rv-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--rv-score-excellent-bg);
    color: var(--rv-score-excellent);
    font-size: var(--rv-text-md);
    font-weight: 700;
    margin-top: 2px;
}

.rv-cons-list li .rv-icon,
.rv-cons .rv-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--rv-score-poor-bg);
    color: var(--rv-score-poor);
    font-size: var(--rv-text-md);
    font-weight: 700;
    margin-top: 2px;
}

.rv-pros-list li .rv-text,
.rv-cons-list li .rv-text,
.rv-pros .rv-text,
.rv-cons .rv-text {
    flex: 1;
    line-height: 1.6;
    color: var(--rv-text-primary);
    font-size: var(--rv-text-base);
}

/* ==========================================================================
   EVALUATION PAGE — Font Size Overrides

   Change these 3 variables to resize ALL text in evaluation sections.
   --rv-eval-label:   uppercase section labels (Justification, Failure Modes, etc.)
   --rv-eval-sub:     section subtitles / secondary text
   --rv-eval-body:    body copy, list items, descriptions
   ========================================================================== */
.rv-article-content {
    --rv-eval-label: var(--rv-text-base);  /* 16px */
    --rv-eval-sub:   var(--rv-text-base);  /* 16px */
    --rv-eval-body:  var(--rv-text-base);  /* 16px */
}

/* Body text — paragraphs, list items, columns */
.rv-article-content .rv-section,
.rv-article-content .rv-section p,
.rv-article-content .rv-section li,
.rv-article-content .rv-section .wp-block-column {
    font-size: var(--rv-eval-body) !important;
    line-height: 1.6;
}

/* Section labels — no uppercase, heavier weight */
.rv-section-subheading,
.rv-article-content .rv-fr__label,
.rv-article-content .rv-sm__label,
.rv-article-content .rv-pc__label,
.rv-article-content .rv-maintenance-schedule__freq-label {
    font-size: var(--rv-eval-label) !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-weight: 700 !important;
}

/* Section subtitles & secondary content text */
.rv-section-subtitle,
.rv-article-content .rv-fr__item,
.rv-article-content .rv-sm__item,
.rv-article-content .rv-pc__item {
    font-size: var(--rv-eval-sub) !important;
}

/* Readiness badge — section titles & content */
.rv-article-content .rv-readiness-badge__section-title {
    font-size: var(--rv-eval-label) !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-weight: 700 !important;
}
.rv-article-content .rv-readiness-badge__section-content,
.rv-article-content .rv-readiness-badge__subtitle {
    font-size: var(--rv-eval-sub) !important;
}

/* Score card — labels & values */
.rv-article-content .rv-score-card__breakdown-title,
.rv-article-content .rv-score-card__overall-label,
.rv-article-content .rv-score-card__logo-text {
    font-size: var(--rv-eval-label) !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-weight: 700 !important;
}
.rv-article-content .rv-score-card__dimension-label,
.rv-article-content .rv-score-card__dimension-value,
.rv-article-content .rv-score-card__overall-max {
    font-size: var(--rv-eval-sub) !important;
}

/* Loosen paragraph spacing in main content blocks */
.rv-article-content .rv-evaluation-summary .wp-block-post-content p + p {
    margin-top: 1.25rem !important;
}

/* Disable CSS sticky on evaluation sidebar — JS handles fixed positioning */
.rv-review-sidebar .rv-sidebar-card--sticky {
    position: static;
}

.rv-review-sidebar .rv-sidebar-card {
    margin-top: 0 !important;
    margin-bottom: 1rem !important;
}

/* Responsive Review Template */
@media (max-width: 782px) {
    .rv-pros-cons-section .wp-block-columns {
        flex-direction: column;
    }

    .rv-testing-details .wp-block-group {
        flex-direction: column;
        align-items: flex-start !important;
    }

    .rv-testing-stat {
        width: 100%;
        margin-bottom: 1rem;
    }
}
