/*
 * Supplementary plugin styles. Core layout tokens live in the theme's
 * style.css; this only covers plugin-emitted widgets not already styled
 * there, and safe defaults if the theme is ever swapped.
 */
.gru-contact-form .gru-form-msg { margin-top: 12px; font-size: 14px; color: var(--gold-deep, #7C5B13); }
.gru-fairquote-out { border-top: 1px solid var(--border, #E4DED0); margin-top: 10px; padding-top: 8px; }
.gru-article .gru-hero { margin-inline: -16px; } /* let a hero placed mid-article breathe to edges on mobile */
@media (min-width: 812px) { .gru-article .gru-hero { margin-inline: 0; border-radius: 12px; } }

/* Data sources + corrections lists */
.gru-sources, .gru-corrections { display: grid; gap: 14px; margin: 18px 0; }
.gru-source-card, .gru-corr-card { border: 1px solid var(--border, #E4DED0); background: var(--surface, #fff); border-radius: 12px; padding: 16px; }
.gru-source-head, .gru-corr-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.gru-source-badge { font-size: 12px; border-radius: 999px; padding: 2px 10px; }
.gru-source-badge.is-active { background: rgba(22,122,82,.1); color: var(--positive, #167A52); }
.gru-source-badge.is-inactive { background: rgba(107,111,118,.12); color: var(--muted, #6B6F76); }
.gru-source-meta { font-size: 14px; color: var(--muted, #6B6F76); margin-top: 4px; }
.gru-source-notes { font-size: 14px; color: rgba(18,20,23,.7); margin-top: 8px; }
.gru-corr-head { font-size: 13px; color: var(--muted, #6B6F76); }
.gru-corr-sev { text-transform: uppercase; }
