.spf-representative { min-width: 0; margin: 18px 0; padding: 14px; border: 1px solid #ccc; color: #333; }
.spf-representative legend { padding: 0 6px; font-weight: bold; }
.spf-representative p { margin: 8px 0; font-size: 13px; line-height: 1.5; }
.spf-representative__choices { display: flex; flex-wrap: wrap; gap: 12px; }
.spf-representative__choices > label { display: flex; align-items: center; gap: 8px; max-width: 100%; margin: 0; padding: 8px; border: 1px solid #ddd; font-size: 13px; overflow-wrap: anywhere; cursor: pointer; }
.spf-representative input[type="radio"] { flex: 0 0 auto; box-sizing: border-box; width: 18px; height: 18px; min-height: 18px; margin: 0; padding: 0; }
.spf-representative img { display: block; width: 80px; height: 60px; max-width: 100%; object-fit: contain; background: #f4f4f4; }
.spf-representative__current { margin-bottom: 10px; }
.spf-representative button { min-height: 40px; padding: 8px 12px; border: 1px solid #aaa; background: #eee; color: #333; cursor: pointer; }
.spf-representative [hidden] { display: none !important; }
@media (max-width: 600px) { .spf-representative__choices { flex-direction: column; } }
