.customer-address-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 8px;
  padding-top: 20px;
  border-top: 1px solid var(--border, #dfe3eb);
}

.customer-address-heading h3 { margin: 0 0 4px; }
.customer-address-heading p { margin: 0; color: var(--muted, #687386); }
.customer-address-list { display: grid; gap: 14px; }

.customer-address-card {
  border: 1px solid var(--border, #dfe3eb);
  border-radius: 12px;
  background: var(--surface, #fff);
  overflow: hidden;
}

.customer-address-card[open] { box-shadow: 0 8px 26px rgba(28, 43, 66, .08); }
.customer-address-card > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 18px;
  cursor: pointer;
  list-style: none;
}

.customer-address-card > summary::-webkit-details-marker { display: none; }
.customer-address-card > summary > span:first-child { display: grid; gap: 3px; }
.customer-address-card > summary small { color: var(--muted, #687386); }
.address-card-body { padding: 18px; border-top: 1px solid var(--border, #dfe3eb); }
.address-primary { min-height: 40px; align-items: center; }

.address-check {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.address-check.verified { color: #12623a; background: #daf4e6; }
.address-check.warning { color: #7a4d00; background: #fff0c9; }
.address-check.danger { color: #9c2f2f; background: #ffe0e0; }
.address-check.neutral { color: var(--muted, #687386); background: var(--surface-soft, #f1f3f7); }
.address-check.checking { color: #285ea8; background: #e6f0ff; }

.address-validation-result {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--muted, #687386);
  background: var(--surface-soft, #f5f7fa);
}

.address-validation-result.exact { color: #12623a; background: #edf9f2; }
.address-validation-result.street_only,
.address-validation-result.suggestion { color: #7a4d00; background: #fff8e7; }
.address-validation-result.not_found { color: #9c2f2f; background: #fff0f0; }
.address-validation-result.pending { color: #285ea8; background: #eef5ff; }
.address-validation-result small { line-height: 1.45; }
.address-card-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.address-card-actions .field-hint { margin-left: auto; }
.btn-danger-soft { color: #a63a3a; border-color: #e6b8b8; }
.address-save-override { padding: 13px 15px; border: 1px solid #e8c36b; border-radius: 10px; background: #fff9e9; }

.customer-address-overview { margin-bottom: 18px; }
.address-overview-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.address-overview-item { border: 1px solid var(--border, #dfe3eb); border-radius: 10px; padding: 14px; }
.address-overview-item > div:first-child { display: flex; align-items: center; gap: 8px; }
.address-overview-item p { margin: 10px 0; line-height: 1.55; }

@media (max-width: 760px) {
  .customer-address-heading, .customer-address-card > summary { align-items: flex-start; flex-direction: column; }
  .address-card-actions .field-hint { margin-left: 0; width: 100%; }
}
