/* Match the existing common confirmation dialog; retain room for address results. */
.pcl-postcode-dialog { box-sizing:border-box; width:min(600px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid rgba(191,219,254,.9); border-radius:24px; color:#10223f; background:linear-gradient(145deg,#fff 0%,#eef6ff 100%); box-shadow:0 24px 70px rgba(15,23,42,.26); overflow-y:auto; font-size:1rem; line-height:1.5; }
.pcl-postcode-dialog *, .pcl-postcode-dialog *::before, .pcl-postcode-dialog *::after { box-sizing:border-box; }
.pcl-postcode-dialog::backdrop { background:rgba(15,23,42,.48); }
.pcl-postcode-dialog > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:24px 26px 10px; background:transparent; color:inherit; border:0; }
.pcl-postcode-dialog h2 { margin:0; min-width:0; font-size:1.375rem; line-height:1.32; font-weight:900; letter-spacing:-.04em; color:inherit; overflow-wrap:anywhere; }
.pcl-postcode-dialog button { min-height:72px; min-width:88px; padding:12px 20px; border:1px solid transparent; border-radius:999px; background:#eaf2fb; color:#1e3a5f; font:inherit; font-weight:900; cursor:pointer; touch-action:manipulation; }
.pcl-postcode-dialog button:hover:not(:disabled) { border-color:var(--color-primary,#174a7e); }
.pcl-postcode-dialog button:focus-visible, .pcl-postcode-dialog input:focus-visible { outline:3px solid var(--color-primary-light,#2d6ea8); outline-offset:2px; }
.pcl-postcode-dialog > header button { flex-shrink:0; }
.pcl-postcode-dialog > header button:hover { background:#dceafa; }
.pcl-address-search { margin:0; padding:12px 26px 20px; }
.pcl-address-search label { display:block; margin:0 0 8px; font-weight:700; }
.pcl-address-search-row { display:flex; flex-wrap:wrap; gap:10px; }
.pcl-address-search input { min-width:0; flex:5 1 12rem; min-height:72px; padding:12px 16px; border:1px solid #c3d3e5; border-radius:16px; background:#fff; color:#10223f; font:inherit; }
.pcl-postcode-dialog .pcl-address-primary { flex:1 0 auto; background:linear-gradient(135deg,#1e5aa0 0%,#163f73 100%); color:#fff; box-shadow:0 12px 22px rgba(30,90,160,.26); }
.pcl-postcode-dialog .pcl-address-primary:hover:not(:disabled) { background:linear-gradient(135deg,#174a86 0%,#123660 100%); }
.pcl-postcode-dialog button:disabled { color:var(--color-text-secondary,#52667a); background:var(--color-background-dark,#e9edf1); border-color:var(--color-border,#d9e0e7); box-shadow:none; cursor:default; }
.pcl-postcode-status { margin:0; padding:0 26px 12px; color:#334155; }
.pcl-address-results { list-style:none; padding:0 26px 26px; margin:0; display:grid; gap:10px; }
.pcl-postcode-dialog .pcl-address-result { display:grid; gap:4px; width:100%; min-height:88px; padding:14px 16px; border-radius:16px; text-align:left; background:#fff; border-color:#d5e2f0; font-weight:400; overflow-wrap:anywhere; }
.pcl-postcode-dialog .pcl-address-result:hover { background:var(--color-brand-blue-soft,#e8f1f8); border-color:var(--color-primary,#174a7e); }
.pcl-address-postal { color:var(--color-primary,#174a7e); font-size:.9em; font-weight:700; }
.pcl-address-result strong { font-size:1.05em; line-height:1.5; }
.pcl-address-jibun { color:var(--color-text-secondary,#52667a); font-size:.9em; line-height:1.5; }
.pcl-address-pages { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 26px 26px; }
.pcl-postcode-dialog footer { display:flex; flex-wrap:wrap; gap:12px; padding:8px 26px 26px; }
.pcl-postcode-dialog footer button { flex:1; }
.pcl-postcode-dialog [hidden] { display:none!important; }
.pcl-address-trigger { min-height:54px; min-width:144px; }
#profileAddressSearch[hidden] { display:none!important; }
/* Compatibility for an already-open previous release; no new UI loads a bridge. */
.pcl-postcode-host { height:min(520px,calc(100dvh - 112px)); min-height:260px; }
.pcl-postcode-host:empty { height:0; min-height:0; }
.pcl-postcode-host > iframe { width:100%; height:100%; border:0; display:block; }
.pcl-postcode-bridge, .pcl-postcode-bridge body, #postcodeProvider { margin:0; width:100%; height:100%; }
@media(max-width:600px) { .pcl-postcode-dialog { border-radius:22px; } .pcl-postcode-dialog > header, .pcl-address-search, .pcl-postcode-status, .pcl-address-results, .pcl-address-pages, .pcl-postcode-dialog footer { padding-left:20px; padding-right:20px; } }
@media(max-width:360px) { .pcl-address-search-row { flex-wrap:wrap; } .pcl-address-search input { flex-basis:100%; } .pcl-address-primary { width:100%; } .pcl-address-pages { flex-wrap:wrap; } }
