/* Public need page: compact, readable property requirements. */
.need-detail .breadcrumb { padding: 22px 0; font-size: .85rem; color: var(--k21-muted); }
.need-detail__header {
    padding: 28px;
    margin-bottom: 24px;
    border: 1px solid #deddf7;
    border-radius: 20px;
    background: linear-gradient(125deg, #eeedff, #fff 75%);
}
.need-detail__header h1 { margin: 14px 0 10px; overflow-wrap: anywhere; }
.need-detail__category { color: var(--k21-muted); font-size: .92rem; }
.need-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 24px 0 18px; }
.need-summary__item { padding: 18px; background: #fff; border: 1px solid var(--k21-border); border-radius: 14px; min-width: 0; }
.need-summary dt { display: flex; align-items: center; gap: 8px; font-size: .82rem; color: var(--k21-ink-soft); }
.need-summary dt span { display: grid; place-items: center; width: 32px; height: 32px; background: #f4f3ff; border-radius: 9px; font-size: 1.15rem; }
.need-summary dd { margin: 10px 0 0; font-size: 1.08rem; font-weight: 750; overflow-wrap: anywhere; }
.need-summary__item--budget { background: #f0fdfa; border-color: #bce5de; }
.need-summary__item--budget dd { color: #115e59; }
.need-detail__submeta { margin: 0; line-height: 1.9; }
.need-detail > .card { padding: 24px; box-shadow: 0 2px 8px #0f172a04; }
.need-detail .card h2 { display: flex; gap: 9px; align-items: center; font-size: 1.1rem; }
.need-detail .card p { overflow-wrap: anywhere; }
.need-detail__hint { color: var(--k21-muted); font-size: .86rem; margin-bottom: 18px; }
.need-detail .criteria-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.need-detail .criteria-list li { flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 16px; border: 1px solid var(--k21-border); border-radius: 12px; background: #f8fafc; min-width: 0; }
.need-detail .criteria-list__detail { gap: 7px; }
.need-detail .criteria-list__label { color: var(--k21-muted); font-size: .81rem; font-weight: 500; }
.need-detail .criteria-list__value { color: var(--k21-ink); font-size: 1rem; font-weight: 650; }
.need-detail .criteria-list__importance { font-size: .7rem; }
.need-detail__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.need-detail__cta .btn--primary { margin-right: auto; }
.need-detail #ask-question-form { flex-wrap: wrap; }
.need-detail #question-body { min-width: 0; }
@media (max-width: 900px) {
    .need-summary, .need-detail .criteria-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .need-summary__item--budget { grid-column: 1 / -1; }
}
@media (max-width: 540px) {
    .need-detail__header { padding: 20px 16px; border-radius: 16px; }
    .need-detail > .card { padding: 18px 16px; }
    .need-summary, .need-detail .criteria-list { grid-template-columns: minmax(0, 1fr); }
    .need-summary__item { padding: 14px; }
    .need-detail__cta .btn--primary { width: 100%; margin: 0; }
}
