.postcode-lookup { grid-column: 1 / -1; padding: 14px; border: 1px solid var(--border, #64748b); border-radius: 12px; }
.postcode-lookup h3 { font-size: 15px; margin: 0 0 12px; }
.postcode-lookup .postcode-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.postcode-lookup .postcode-fields label { min-width: 0; }
.postcode-lookup .postcode-fields input { width: 100%; min-width: 0; }
.postcode-lookup .postcode-search { margin-top: 12px; min-height: 44px; }
.postcode-lookup .postcode-status { margin: 10px 0 0; font-size: 13px; line-height: 1.5; }
.postcode-lookup .postcode-choice { display: grid; gap: 10px; margin-top: 12px; max-height: 280px; overflow: auto; }
.postcode-lookup .postcode-choice[hidden] { display: none; }
.postcode-lookup .postcode-choice button { min-height: 44px; text-align: left; white-space: normal; }
@media(max-width: 520px) {
    .postcode-lookup .postcode-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .postcode-lookup .postcode-fields label:last-child { grid-column: 1 / -1; }
    .postcode-lookup .postcode-search { width: 100%; }
}
