.cmcp-address-book,.cmcp-address-editor { width:100%; min-width:0; }
.cmcp-address-book__header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; }
.cmcp-address-book__header h1,.cmcp-address-editor h1 { margin:0 0 7px; color:#101828; font-size:28px; line-height:1.2; text-transform:none; }
.cmcp-address-book__header p { margin:0; color:#667085; }
.cmcp-address-book__add { flex:0 0 auto; min-height:42px; padding:10px 16px!important; border-radius:9px!important; }
.cmcp-address-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.cmcp-address-card { display:flex; min-width:0; min-height:230px; flex-direction:column; padding:20px; border:1px solid #e2e6ed; border-radius:13px; background:#fff; }
.cmcp-address-card.is-default { border-color:#a9c9ff; box-shadow:0 0 0 1px rgba(10,108,255,.08); }
.cmcp-address-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:18px; }
.cmcp-address-card h2 { margin:0 0 4px; color:#101828; font-size:19px; line-height:1.3; text-transform:none; }
.cmcp-address-card__type { color:#667085; font-size:12px; font-weight:650; }
.cmcp-address-card__badge { flex:0 0 auto; padding:5px 8px; border-radius:999px; background:#eaf2ff; color:#175cd3; font-size:11px; font-weight:750; white-space:nowrap; }
.cmcp-address-card__details { color:#475467; font-size:14px; line-height:1.65; }
.cmcp-address-card > footer { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin-top:auto; padding-top:20px; border-top:1px solid #f0f2f5; }
.cmcp-address-card footer form { margin:0; }
.cmcp-address-action { padding:0!important; border:0!important; background:transparent!important; color:#175cd3!important; font-size:13px!important; font-weight:700!important; line-height:1.4!important; text-decoration:none!important; cursor:pointer; }
.cmcp-address-action--danger { color:#b42318!important; }
.cmcp-address-empty { padding:48px 24px; border:1px dashed #cfd5df; border-radius:13px; text-align:center; }
.cmcp-address-empty__icon { display:grid; width:52px; height:52px; place-items:center; margin:0 auto 14px; border-radius:50%; background:#eef5ff; color:#175cd3; font-size:26px; }
.cmcp-address-empty h2 { margin:0 0 7px; color:#101828; font-size:20px; text-transform:none; }
.cmcp-address-empty p { margin:0 0 20px; color:#667085; }
.cmcp-address-editor > header { margin-bottom:22px; }
.cmcp-address-editor > header a { display:inline-block; margin-bottom:12px; color:#475467; font-size:13px; text-decoration:none; }
.cmcp-address-form { max-width:760px; }
.cmcp-address-form fieldset { margin:0 0 20px; padding:0; border:0; }
.cmcp-address-form legend,.cmcp-address-lookup > label { display:block; margin-bottom:7px; color:#344054; font-size:14px; font-weight:700; }
.cmcp-address-types { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.cmcp-address-types label { cursor:pointer; }
.cmcp-address-types input { position:absolute; opacity:0; pointer-events:none; }
.cmcp-address-types span { display:flex; min-height:48px; align-items:center; justify-content:center; padding:8px 12px; border:1px solid #d0d5dd; border-radius:9px; color:#344054; font-size:13px; font-weight:700; text-align:center; }
.cmcp-address-types input:checked + span { border-color:#0a6cff; background:#eef5ff; color:#175cd3; box-shadow:0 0 0 2px rgba(10,108,255,.1); }
.cmcp-address-lookup { position:relative; margin-bottom:16px; }
.cmcp-address-lookup .input-text,.cmcp-address-form .input-text { width:100%; min-width:0; }
.cmcp-address-results { position:absolute; z-index:20; top:100%; right:0; left:0; max-height:260px; overflow:auto; border-radius:9px; background:#fff; box-shadow:0 10px 28px rgba(15,23,42,.16); }
.cmcp-address-results:empty { display:none; }
.cmcp-address-results button,.cmcp-address-results__status { display:block; width:100%; padding:10px 12px; border:0; border-bottom:1px solid #eef0f3; background:#fff; color:#344054; font-size:13px; text-align:left; }
.cmcp-address-results button:hover,.cmcp-address-results button:focus { background:#eef5ff; color:#175cd3; }
.cmcp-address-form__split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.cmcp-address-default { display:flex; align-items:center; gap:8px; margin:8px 0 22px; color:#344054; font-size:14px; }
.cmcp-address-form__actions { display:flex; align-items:center; gap:18px; }
.cmcp-address-form__actions .button { min-height:44px; border-radius:9px!important; }
.cmcp-address-form__actions a { color:#475467; font-size:14px; }
.cmcp-checkout-addresses { margin:0 0 18px; padding:16px; border:1px solid #e2e6ed; border-radius:11px; background:#f8fafc; }
.cmcp-checkout-addresses h3 { margin:0 0 12px!important; font-size:16px!important; text-transform:none; }
.cmcp-checkout-addresses__list { display:grid; gap:8px; }
.cmcp-checkout-addresses__list label { display:grid; grid-template-columns:18px minmax(0,1fr); gap:10px; align-items:flex-start; margin:0; padding:10px; border:1px solid #dfe3ea; border-radius:9px; background:#fff; cursor:pointer; }
.cmcp-checkout-addresses__list input { width:16px!important; height:16px!important; margin:3px 0 0!important; }
.cmcp-checkout-addresses__list span { display:grid; gap:2px; }
.cmcp-checkout-addresses__list strong { color:#101828; font-size:14px; }
.cmcp-checkout-addresses__list small { color:#667085; font-size:12px; line-height:1.4; }
@media(max-width:768px) {
    .cmcp-address-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
    .cmcp-address-book__header { flex-direction:column; }
    .cmcp-address-book__add { width:100%; text-align:center; }
}
@media(max-width:520px) {
    .cmcp-address-types,.cmcp-address-form__split { grid-template-columns:minmax(0,1fr); }
    .cmcp-address-card { min-height:0; }
    .cmcp-address-card > header { flex-direction:column; }
    .cmcp-address-form__actions { align-items:stretch; flex-direction:column; }
    .cmcp-address-form__actions .button { width:100%; }
}
