.interest-picker { border: 0; padding: 0; margin: 0 0 36px; min-width: 0; }
.interest-picker legend { font-family: var(--font-main); font-size: clamp(24px,3vw,32px); font-weight: 700; margin-bottom: 10px; }
.interest-picker > p { max-width: 70ch; }
.interest-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.interest-option { display: flex; align-items: center; gap: 12px; padding: 18px; min-height: 80px; border: 2px solid #c7ccd0; border-radius: 12px; background: #fff; color: var(--color-dark); cursor: pointer; font-size: 16px; line-height: 1.4; }
.interest-option:has(input:checked) { border-color: var(--color-primary); background: #fff1e9; }
.interest-option:has(input:disabled) { color: #656971; background: #f0f0ee; cursor: default; }
.interest-option:focus-within { outline: 3px solid var(--color-dark); outline-offset: 3px; }
.interest-option input { flex: 0 0 auto; width: 21px; height: 21px; margin: 0; accent-color: #b94215; }
.interest-controls { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.interest-controls p { margin: 0; font-size: 15px; }
.interest-clear { font: inherit; font-size: 15px; border: 1px solid currentColor; border-radius: 24px; background: transparent; padding: 10px 18px; color: var(--color-dark); cursor: pointer; }
.interest-clear:disabled { opacity: .5; cursor: default; }
.interest-storage { font-size: 14px; color: #505862; margin-top: 12px; }
.interest-groups { grid-column: 1 / -1; width: 100%; min-width: 0; }
.interest-groups section + section { margin-top: 44px; }
.interest-group-title { font-size: 24px; margin-bottom: 12px; }
.interest-result { margin-bottom: 22px; }
.interest-reason { font-size: 14px; line-height: 1.5; font-weight: 600; color: #8d3516; background: #fff1e9; padding: 10px 12px; border-radius: 8px; }
@media (max-width: 800px) { .interest-options { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 520px) { .interest-options { grid-template-columns: 1fr; gap: 8px; } .interest-option { min-height: 56px; padding: 14px; } }
