.product-condition-fields { display: grid; gap: 7px; }
.product-condition-fields label { display: block; font-weight: 650; }
.product-condition-fields input,
.product-condition-fields select { width: 100%; box-sizing: border-box; min-width: 0; padding: 9px; border: 1px solid #b5c6be; border-radius: 6px; background: #fff; color: #172c23; font: inherit; }
.product-condition-fields small,
.product-condition-fields p { margin: 2px 0 8px; color: #435b50; line-height: 1.5; }
.condition-verdict { display: block; margin-top: 6px; font-size: .73rem; line-height: 1.4; color: #5c4b20; }
[data-condition-source] { display: inline-block; margin-top: 3px; font-size: .72rem; }
.insurance-tool { margin: 20px 0 30px; padding: 18px; border: 1px solid #bfd4c8; border-radius: 10px; background: #f8fcf9; overflow: hidden; }
.insurance-tool h2 { margin-top: 0; }
.insurance-tool__options { margin: 14px 0; }
.insurance-tool__options summary { cursor: pointer; font-weight: 700; color: #285341; }
.insurance-tool__picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 16px 0; }
.insurance-tool__product { display: flex; gap: 8px; align-items: flex-start; padding: 10px; border: 1px solid #d0ddd5; border-radius: 6px; background: #fff; cursor: pointer; }
.insurance-tool__product input { margin-top: 4px; flex: none; }
.insurance-tool__product span,
.insurance-tool__product small { display: block; min-width: 0; }
.insurance-tool__product small { margin-top: 3px; overflow-wrap: anywhere; line-height: 1.45; }
.insurance-tool__results { width: 100%; max-width: 100%; box-sizing: border-box; overflow-x: auto; contain: inline-size; }
.insurance-tool__table { width: 100%; min-width: 650px; border-collapse: collapse; background: #fff; line-height: 1.55; }
.insurance-tool__table th,
.insurance-tool__table td { border: 1px solid #ccd9d1; padding: 10px; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.insurance-tool__table thead th { background: #e9f3ed; }
.insurance-tool__table tbody th { min-width: 100px; background: #f3f7f4; }
.insurance-tool__table select { width: 100%; min-width: 135px; max-width: 100%; padding: 7px; font: inherit; }
.insurance-tool__cards { display: none; }
.insurance-tool__note { font-size: .85rem; line-height: 1.6; color: #46594e; }
@media (max-width: 700px) {
  .insurance-tool { padding: 12px; }
  .insurance-tool__picker { grid-template-columns: 1fr; }
  .insurance-tool__table { display: none; }
  .insurance-tool__cards { display: grid; gap: 12px; }
  .insurance-tool__card { min-width: 0; padding: 12px; border: 1px solid #ccd9d1; border-radius: 7px; background: #fff; overflow-wrap: anywhere; }
  .insurance-tool__card h3 { margin: 0 0 10px; }
  .insurance-tool__card h3 small { display: block; margin-top: 3px; font-weight: 400; }
  .insurance-tool__card dl { margin: 0; }
  .insurance-tool__card dt { margin-top: 9px; font-weight: 700; color: #285341; }
  .insurance-tool__card dd { margin: 2px 0 0; line-height: 1.55; }
  .insurance-tool__card select { max-width: 100%; width: 100%; box-sizing: border-box; padding: 8px; font: inherit; }
}
