.lumi-shipping-protection {
	margin: 14px 0 18px;
	padding: 0;
}

.lumi-sp-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	box-sizing: border-box;
	padding: 14px 16px;
	border: 1px solid #e4e7ec;
	border-radius: 10px;
	background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06);
	cursor: pointer;
	transition:
		border-color 160ms ease,
		box-shadow 160ms ease,
		background 160ms ease;
}

.lumi-sp-card:hover {
	border-color: #c7d2fe;
	box-shadow: 0 4px 14px rgba(79, 70, 229, 0.12);
}

.lumi-sp-card.is-selected {
	border-color: #b8c7ff;
	background: linear-gradient(180deg, #ffffff 0%, #f7f9ff 100%);
}

.lumi-sp-card.is-updating {
	opacity: 0.72;
	cursor: wait;
}

.lumi-sp-input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	border: 0;
}

.lumi-sp-input:focus-visible + .lumi-sp-shield {
	outline: 2px solid #2563eb;
	outline-offset: 3px;
}

.lumi-sp-shield {
	flex: 0 0 54px;
	width: 54px;
	height: 58px;
	object-fit: contain;
	filter: drop-shadow(0 3px 4px rgba(15, 23, 42, 0.18));
}

.lumi-sp-copy {
	display: block;
	min-width: 0;
	flex: 1 1 auto;
	line-height: 1.25;
}

.lumi-sp-title-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 8px;
	row-gap: 2px;
	margin-bottom: 4px;
}

.lumi-sp-title {
	color: #101828;
	font-size: 16px;
	font-weight: 800;
}

.lumi-sp-description {
	display: block;
	color: #344054;
	font-size: 14px;
	line-height: 1.35;
}

.lumi-sp-check {
	position: relative;
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	border: 1px solid #cbd5e1;
	border-radius: 50%;
	background: #ffffff;
	transition:
		border-color 160ms ease,
		background 160ms ease;
}

.lumi-sp-card.is-selected .lumi-sp-check {
	border-color: #2563eb;
	background: #2563eb;
}

.lumi-sp-card.is-selected .lumi-sp-check::after {
	content: "";
	position: absolute;
	left: 7px;
	top: 4px;
	width: 6px;
	height: 11px;
	border: solid #ffffff;
	border-width: 0 2px 2px 0;
	transform: rotate(42deg);
}

@media (max-width: 480px) {
	.lumi-sp-card {
		align-items: flex-start;
		gap: 12px;
		padding: 13px 14px;
	}

	.lumi-sp-shield {
		flex-basis: 46px;
		width: 46px;
		height: 50px;
	}

	.lumi-sp-title {
		font-size: 15px;
	}

	.lumi-sp-description {
		font-size: 13px;
	}
}
