/* Article tools remain scoped to avoid changing existing calculator layout. */
.offer-tool{background:#fff;border:1px solid #bdd5d0;border-radius:12px;color:#163047;margin:2rem 0;padding:clamp(1rem,3vw,1.5rem);max-width:100%;min-width:0}.offer-tool *{box-sizing:border-box}.offer-tool fieldset{border:1px solid #c9dbd6;border-radius:8px;min-width:0;margin:1rem 0;padding:1rem}.offer-tool legend{font-weight:700;padding:0 .35rem}.offer-tool #offer-controls{border:0;padding:0;margin:0}.offer-tool .offer-grid{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}.offer-tool .offer-field{display:flex;flex-direction:column;min-width:0;gap:.35rem;margin:.6rem 0}.offer-tool label{font-weight:600;line-height:1.5}.offer-tool label,.offer-tool .offer-hint,.offer-tool .offer-error{overflow-wrap:anywhere}.offer-tool input,.offer-tool select{width:100%;max-width:100%;min-height:46px;min-width:0;font:inherit;color:#163047;border:1px solid #7c9a92;border-radius:5px;background:#fff;padding:.65rem}.offer-tool button{min-height:44px;max-width:100%;white-space:normal;font:inherit;font-weight:600;background:#087c68;color:#fff;border:1px solid #087c68;border-radius:5px;padding:.65rem 1rem;margin:.35rem 0}.offer-tool button:disabled{opacity:.55;cursor:not-allowed}.offer-tool button[type=button]{background:#fff;color:#086957}.offer-tool input:focus-visible,.offer-tool select:focus-visible,.offer-tool button:focus-visible,.offer-tool .offer-table-wrap:focus-visible{outline:3px solid #c26e13;outline-offset:3px}.offer-tool .offer-hint{font-size:.85rem;color:#526776}.offer-tool .offer-error{color:#a71c28;font-weight:600}.offer-tool input[aria-invalid=true]{border:2px solid #a71c28}.offer-tool [hidden]{display:none!important}.offer-tool .offer-table-wrap{overflow-x:auto;max-width:100%;margin:1rem 0}.offer-tool table{border-collapse:collapse;width:100%;font-size:.95rem}.offer-tool th,.offer-tool td{padding:.75rem;text-align:left;vertical-align:top;border-bottom:1px solid #c9dbd6;overflow-wrap:anywhere}.offer-tool caption{text-align:left;font-weight:700;margin-bottom:.7rem}.offer-tool thead{background:#edf6f3}.offer-tool #offer-status:empty{display:none}
/* Share label, control, hint and error tracks across each desktop pair.
   A select without help text keeps the same control row as its neighbor.
   Rows grow with translated labels and errors; no fixed text heights. */
@supports (grid-template-rows: subgrid) {
  @media (min-width:641px) {
    .offer-tool .offer-grid {
      grid-template-columns:repeat(2,minmax(0,1fr));
      row-gap:.35rem;
      align-items:stretch;
    }
    .offer-tool .offer-grid > .offer-field {
      display:grid;
      grid-template-rows:subgrid;
      grid-row:span 4;
    }
    .offer-tool .offer-grid > .offer-field > label { grid-row:1; }
    .offer-tool .offer-grid > .offer-field > input,
    .offer-tool .offer-grid > .offer-field > select {
      grid-row:2;
      align-self:stretch;
    }
    .offer-tool .offer-grid > .offer-field > .offer-hint { grid-row:3; }
    .offer-tool .offer-grid > .offer-field > .offer-error { grid-row:4; }
  }
}
/* Narrow screens and browsers without subgrid retain a single readable column. */
@media(max-width:640px){.offer-tool .offer-grid{grid-template-columns:1fr}.offer-tool fieldset{padding:.65rem}.offer-tool th,.offer-tool td{padding:.55rem}}@media print{.offer-tool button,.offer-tool #offer-status,.offer-tool #offer-boot{display:none!important}.offer-tool{padding:0;border:0}.offer-tool .offer-table-wrap{overflow:visible}.offer-tool table{font-size:10pt}.offer-tool tr{break-inside:avoid}}
