.rfg-diagnostic{--rfg-ink:#12243d;--rfg-blue:#1254a2;--rfg-border:#d7e2ef;max-width:1000px;margin:24px auto;padding:clamp(20px,4vw,40px);border:1px solid var(--rfg-border);border-radius:22px;background:#f8fbff;color:var(--rfg-ink);box-shadow:0 14px 36px rgba(18,36,61,.06)}
.rfg-diagnostic *{box-sizing:border-box}
.rfg-diagnostic__intro h2{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.2;margin:.3em 0}
.rfg-diagnostic__intro p{max-width:68ch}
.rfg-diagnostic__eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.12em;color:var(--rfg-blue)}
.rfg-diagnostic__controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.rfg-diagnostic label{display:block;font-weight:700;font-size:.93rem}
.rfg-diagnostic select{display:block;width:100%;min-height:48px;margin-top:8px;padding:9px 12px;border:1px solid #a8bed5;border-radius:10px;background:white;color:var(--rfg-ink);font:inherit}
.rfg-diagnostic select:disabled{opacity:.6}
.rfg-diagnostic__step{min-height:60px}
.rfg-diagnostic__card{padding:20px;border:1px solid var(--rfg-border);border-radius:14px;background:white}
.rfg-diagnostic__card h3{margin:0 0 12px;line-height:1.3}
.rfg-diagnostic__card p{max-width:70ch}
.rfg-diagnostic__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.rfg-diagnostic button,.rfg-diagnostic__link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--rfg-blue);border-radius:9px;background:var(--rfg-blue);color:#fff!important;font:inherit;font-weight:700;text-decoration:none!important;cursor:pointer}
.rfg-diagnostic button:hover,.rfg-diagnostic__link:hover{background:#0c3e7c}
.rfg-diagnostic button:focus-visible,.rfg-diagnostic select:focus-visible,.rfg-diagnostic a:focus-visible{outline:3px solid #ffb700;outline-offset:3px}
.rfg-diagnostic button.rfg-diagnostic__secondary{background:white;color:var(--rfg-blue)!important}
.rfg-diagnostic__note{padding:12px 15px;border-left:4px solid #e39725;background:#fff9ec}
.rfg-diagnostic__fallback{margin:18px 0 0;font-size:.9rem}
@media(max-width:720px){.rfg-diagnostic__controls{grid-template-columns:1fr}.rfg-diagnostic{border-radius:16px}.rfg-diagnostic__actions>*{flex:1 1 130px}}
/* Guided flow replaces the three-column filter. */
.rfg-diagnostic__controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:20px 0}
.rfg-diagnostic__controls:empty{display:none}
.rfg-diagnostic__selection{flex:1;margin:0;font-weight:700;line-height:1.6}
.rfg-diagnostic__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}
.rfg-diagnostic__options button{text-align:left;justify-content:flex-start;line-height:1.5;padding:14px 18px}
.rfg-diagnostic__instructions{padding-left:24px;margin:18px 0}
.rfg-diagnostic__instructions li{padding-left:5px;margin:12px 0;line-height:1.7}
.rfg-diagnostic__references{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0 0;padding-top:16px;border-top:1px solid var(--rfg-border)}
.rfg-diagnostic a.rfg-diagnostic__textlink{color:#1254a2!important;text-decoration:underline!important;font-weight:700;line-height:1.6}
.rfg-diagnostic__card--success{border-left:5px solid #24804c}
.rfg-diagnostic__card--stop{border-left:5px solid #b33432;background:#fff9f8}
.rfg-diagnostic__card--support{border-left:5px solid #bd7f18}
.rfg-diagnostic__summary{margin:20px 0;padding:14px;background:#f2f6fc;border-radius:10px}
.rfg-diagnostic__summary summary{font-weight:700;cursor:pointer}
.rfg-diagnostic__summary li{margin:12px 0;line-height:1.6}
@media(max-width:600px){.rfg-diagnostic__options{grid-template-columns:1fr}.rfg-diagnostic__controls{align-items:stretch}.rfg-diagnostic__controls button{width:100%}.rfg-diagnostic__selection{flex-basis:100%}.rfg-diagnostic__actions>*{flex-basis:100%}}
/* The heading receives programmatic focus; controls retain their visible focus ring. */
.rfg-diagnostic__card h3[tabindex="-1"]:focus{outline:none}

.rfg-diagnostic__compatibility { margin-top:20px; padding:16px; border:1px solid #c9ddf4; border-radius:12px; background:#eef6ff; }
.rfg-diagnostic__compatibility p { margin:0 0 12px; }
