.search-example { margin: .65rem 0 0; color: var(--sh-muted); font-size: .78rem; line-height: 1.6; }
.needs-panel { margin: 0 0 1.3rem; padding: 1.1rem 1.2rem; border: 1px solid var(--sh-line-strong); border-left: 3px solid var(--sh-acc-violet); border-radius: var(--sh-radius-md); background: var(--sh-panel); color: var(--sh-text); }
.needs-panel p, .needs-panel li { font-size: .83rem; line-height: 1.65; }
.needs-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.needs-heading h2 { margin: 0; font-family: 'Space Grotesk',sans-serif; font-size: 1rem; color: inherit; }
.needs-heading > span { color: var(--sh-muted); font-size: .78rem; }
.needs-criteria, .needs-choices { display: flex; flex-wrap: wrap; gap: .5rem; }
.needs-panel button, .needs-choices a { display: inline-flex; gap: .65rem; align-items: center; min-height: 40px; padding: .5rem .7rem; border: 1px solid var(--sh-line-strong); border-radius: var(--sh-radius-xs); background: var(--sh-bg); color: var(--sh-text); font: inherit; font-size: .8rem; cursor: pointer; text-decoration: none; }
.needs-panel button:hover, .needs-choices a:hover { border-color: var(--sh-acc-violet); }
.needs-criteria button { border-color: color-mix(in srgb,var(--sh-acc-violet),transparent 45%); background: color-mix(in srgb,var(--sh-acc-violet),transparent 88%); }
.needs-residual, .needs-adjustment { margin-top: .65rem; color: var(--sh-muted); }
.needs-adjustment button { min-height: 32px; padding: .25rem .5rem; }
.needs-empty { margin: .9rem 0 0; color: var(--sh-text); }
.needs-question { margin-top: 1rem; padding-top: .8rem; border-top: 1px solid var(--sh-line); }
.needs-question > p { margin: 0 0 .65rem; font-weight: 600; }
.needs-question details { margin-top: .7rem; color: var(--sh-muted); font-size: .8rem; }
.needs-question summary { cursor: pointer; }
.needs-question details a { color: var(--sh-acc-violet); }
.needs-question form { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin-top: .7rem; }
.needs-question input { width: 130px; min-width: 0; min-height: 40px; padding: .5rem; font: inherit; color: var(--sh-text); background: var(--sh-panel); border: 1px solid var(--sh-line-strong); border-radius: var(--sh-radius-xs); }
.needs-question label { font-size: .8rem; }
.needs-notes { margin: .9rem 0 0; padding-left: 1.1rem; color: var(--sh-muted); }
.needs-panel .needs-privacy { margin: .9rem 0 0; font-size: .72rem; color: var(--sh-muted); }
.needs-privacy a { color: inherit; }
.needs-panel .needs-relax { margin-top: 1rem; }
.product-info .needs-match-note { margin-top: .6rem; padding-top: .5rem; border-top: 1px solid var(--sh-line); font-size: .68rem; line-height: 1.5; color: var(--sh-muted); }
.needs-panel :is(button,input,a,summary):focus-visible { outline: 3px solid var(--sh-acc-cyan); outline-offset: 2px; }
@media(min-width:801px) { .shop-catalogue .catalog-sidebar { max-height: calc(100dvh - 2rem); overflow-y: auto; scrollbar-width: thin; } }
@media(max-width:520px) { .needs-panel { padding: .9rem; } .needs-heading { align-items: start; } .needs-heading > span { white-space: nowrap; } .needs-criteria button { max-width: 100%; overflow-wrap: anywhere; text-align: left; } .needs-choices button { flex: 1 1 auto; justify-content: center; } }
