/* Semantic colors shared by light/dark modes. Layout and type metrics stay identical. */
body.pcmag {
    --pcr-surface: #ffffff;
    --pcr-heading: #040f3d;
    --pcr-text: #212026;
    --pcr-muted: #4a4a4a;
    --pcr-divider: #d7d7d7;
    --pcr-highlight: #c9882c;
    --pcr-link: #4b65bf;
    --pcr-navy-border: #040f3d;
    --pcr-logo: #232f3e;
    --pcr-shadow: 3px 3px 5px #00000017;
}
[data-theme="dark"] .pcmag, body.pcmag[data-theme="dark"], .pcmag [data-theme="dark"] {
    --pcr-surface: #252830;
    --pcr-heading: #f2f5ff;
    --pcr-text: #e2e6ef;
    --pcr-muted: #bbc4d4;
    --pcr-divider: #4b5261;
    --pcr-highlight: #efbb71;
    --pcr-link: #a9bdff;
    --pcr-navy-border: #91a3d4;
    --pcr-logo: #f2f5ff;
    --pcr-shadow: 3px 3px 8px #00000038;
}
html[data-theme="dark"], body.pcmag[data-theme="dark"] { color-scheme: dark; }
html[data-theme="light"], body.pcmag[data-theme="light"] { color-scheme: light; }

.pcmag .pcr-pcard, .pcmag .pcr-detail-card, .pcmag .pcr-editor-card, .pcmag .pcr-review-card {
    background: var(--pcr-surface) !important;
    color: var(--pcr-text) !important;
}
.pcmag .pcr-pcard--navy { border-color: var(--pcr-navy-border) !important; }
.pcmag .pcr-detail-card, .pcmag .pcr-review-card { border-color: var(--pcr-divider) !important; box-shadow: var(--pcr-shadow) !important; }
.pcmag .pcr-pcard-brand, .pcmag .pcr-pcard-title, .pcmag .pcr-pcard-title a,
.pcmag .pcr-detail-brand, .pcmag .pcr-detail-model, .pcmag .post-content .pcr-detail-heading,
.pcmag .pcr-section-title, .pcmag .pcr-compare__title, .pcmag .pcr-comparison__title,
.pcmag .pcr-editor-brand, .pcmag .pcr-editor-title a,
.pcmag .pcr-review__brand, .pcmag .pcr-review__model, .pcmag .pcr-review__pretitle {
    color: var(--pcr-heading) !important;
}
.pcmag .pcr-pcard-desc, .pcmag .pcr-detail-blurb, .pcmag .pcr-detail-caption,
.pcmag .pcr-detail-specs, .pcmag .pcr-detail-review, .pcmag .pcr-detail-review p,
.pcmag .pcr-pcard .pcr-pc__list li, .pcmag .pcr-editor-desc,
.pcmag .pcr-review__desc, .pcmag .pcr-review__text, .pcmag .pcr-review__specs-line {
    color: var(--pcr-text) !important;
}
.pcmag .pcr-detail-review strong, .pcmag .pcr-detail-review b,
.pcmag .pcr-detail-specs strong, .pcmag .pcr-detail-caption strong {
    color: inherit !important;
}
.pcmag .pcr-pcard-label, .pcmag .pcr-detail-label,
.pcmag .pcr-pcard .pcr-pc h4, .pcmag .pcr-editor-label, .pcmag .pcr-review__label {
    color: var(--pcr-highlight) !important;
}
.pcmag .pc-single .post-content .pcr-detail-review a { color: var(--pcr-link) !important; }
.pcmag .pcr-pcard-collapse, .pcmag .pcr-pcard .pcr-pc > div + div { border-color: var(--pcr-divider) !important; }
.pcmag .pcr-pcard-collapse summary { color: var(--pcr-heading) !important; }
.pcmag .pcr-pcard-collapse summary::after { border-color: var(--pcr-muted) !important; }
/* Product photography keeps its original white matte in either mode. */
.pcmag .pcr-pcard-image, .pcmag .pcr-detail-image img { background: #fff; border-radius: 6px; }
.pcmag .pcr-pcard .pcr-azlogo text { fill: var(--pcr-logo); }
/* Parent dark-mode strong/span rules must not leak into editorial ribbons. */
.pcmag .pcr-pcard .pcr-pcard-badge, .pcmag .pcr-pcard .pcr-pcard-badge *,
.pcmag .pcr-detail-badge, .pcmag .pcr-detail-badge *,
.pcmag .pcr-editor-badge, .pcmag .pcr-editor-badge * { color: #fff !important; }
.pcmag .pcr-pcard .pcr-pcard-btn, .pcmag .pcr-detail-price, .pcmag .pcr-detail-shop { color: #fff !important; }
.pcmag .pcr-pcard :focus-visible, .pcmag .pcr-detail :focus-visible { outline-color: var(--pcr-link); }
/* Tables outside product cards also need a readable surface in dark mode. */
.pcmag .pcr-compare__table td, .pcmag .pcr-compare__table tbody th,
.pcmag .pcr-comparison__table td, .pcmag .pcr-comparison__table tbody th {
    background: var(--pcr-surface) !important; color: var(--pcr-text) !important; border-color: var(--pcr-divider) !important;
}
.pcmag .pcr-compare__table thead th, .pcmag .pcr-compare__table thead td,
.pcmag .pcr-comparison__table thead th { background: #040f3d !important; color: #fff !important; }
.pcmag .pc-who__title, .pcmag .pc-who__dek { color: var(--pc-ink); }
/* The child containers include their own horizontal padding in their width. */
.pcmag .pc-container { box-sizing: border-box; }
