/* Checkout address picker (Phase 1). Charcoal #28282a brand; matches storefront. */
.pc-addr__list { display: flex; flex-direction: column; gap: 8px; margin: 6px 0 10px; }
.pc-addr__card {
	border: 1px solid #e4e2e6; border-radius: 8px; padding: 10px 12px;
	cursor: pointer; position: relative; font-size: 13px; line-height: 1.4;
}
.pc-addr__card:hover { border-color: #28282a; }
.pc-addr__card.is-selected { border: 2px solid #28282a; padding: 9px 11px; }
.pc-addr__badge {
	position: absolute; top: 8px; right: 10px; font-size: 10px;
	background: #28282a; color: #fff; padding: 2px 6px; border-radius: 10px;
}
.pc-addr__label { font-weight: 700; }
.pc-addr__add {
	border: 1px dashed #c9c7cd; border-radius: 8px; padding: 10px;
	text-align: center; color: #6b6b70; cursor: pointer; font-size: 13px;
}
.pc-addr__add:hover { border-color: #28282a; color: #28282a; }
.pc-addr__newform { border: 2px solid #0071e3; border-radius: 8px; padding: 12px; margin: 6px 0; background: #f5faff; }
.pc-addr__sameas { display: flex; align-items: center; gap: 8px; font-size: 12.5px; margin: 8px 0; }

/* Saved-card picker (payment step) — same visual language as the address picker;
 * the picker markup reuses the .pc-addr__* classes with this container modifier. */
.pc-addr--cards { margin: 6px 0 10px; }
.pc-addr__card--expired { opacity: 0.5; cursor: default; }
.pc-addr__card--expired:hover { border-color: #e4e2e6; }
.pc-save-card { margin: 10px 0; font-size: 13px; }
.pc-save-card__cb { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.pc-save-card--forced .pc-save-card__cb { color: #6b6b70; cursor: default; }
.pc-save-card__note { margin: 4px 0 0 24px; font-size: 12px; color: #6b6b70; }

/* Mobile: cards already stack; ensure comfortable touch targets. */
@media (max-width: 640px) {
	.pc-addr__card, .pc-addr__add { padding: 14px; }
}
