.addp-checkout-points {
	--addp-accent: var(--bc-accent, var(--bs-accent, var(--ctl-c2, #8f5bff)));
	--addp-accent-2: var(--ctl-c1, var(--addp-accent));
	--addp-bg: var(--bs-bg, color-mix(in oklch, black 84%, var(--addp-accent) 16%));
	--addp-fg: var(--bc-text, var(--bs-fg, var(--c-text, #fcf9ff)));
	--addp-muted: var(--bc-text-mid, var(--bs-text-mid, var(--c-text-mid, #e5dbf2)));
	--addp-low: var(--c-text-low, color-mix(in oklch, var(--addp-muted) 74%, transparent));
	--addp-line: var(--bc-border, var(--bs-line, var(--hairline, #ffffff1f)));
	--addp-surface: linear-gradient(
			180deg,
			color-mix(in oklch, var(--addp-accent) 8%, transparent),
			color-mix(in oklch, black 14%, transparent)
		);
	--addp-surface-soft: color-mix(in oklch, black 16%, transparent);
	--addp-surface-strong: linear-gradient(
			180deg,
			color-mix(in oklch, var(--addp-accent) 14%, transparent),
			color-mix(in oklch, black 18%, transparent)
		);
	--addp-control-bg: color-mix(in oklch, white 92%, var(--addp-accent) 8%);
	--addp-control-fg: #1f2933;
	--addp-radius: 14px;

	border: 1px solid var(--addp-line);
	border-radius: var(--addp-radius);
	background: var(--addp-surface);
	padding: 14px;
	margin: 10px 0;
	color: var(--addp-fg);
	box-shadow: var(--bc-glass-shadow, 0 10px 22px rgba(0, 0, 0, .22));
	-webkit-backdrop-filter: blur(var(--bc-glass-blur, 10px)) saturate(var(--bc-glass-sat, 1.05));
	backdrop-filter: blur(var(--bc-glass-blur, 10px)) saturate(var(--bc-glass-sat, 1.05));
}

.addp-checkout-points-block {
	margin: 12px 0 18px;
}

.addp-checkout-points-block--integrated {
	display: none !important;
}

.addp-checkout-points-block--shipping {
	margin: 10px 0 0;
}

.addp-checkout-points-block--shipping .addp-checkout-points {
	--addp-radius: 12px;

	padding: 10px;
	margin: 0;
	box-shadow: none;
}

.addp-checkout-points-block--shipping .addp-checkout-points__header {
	gap: 8px;
}

.addp-checkout-points-block--shipping .addp-checkout-points__header strong {
	font-size: 12px;
}

.addp-checkout-points-block--shipping .addp-checkout-points__header label {
	font-size: 10px;
}

.addp-checkout-points-block--shipping .addp-radius-select {
	min-width: 74px;
	max-width: 92px;
	padding: 5px 8px;
}

.addp-checkout-points-block--shipping .addp-pickup-status {
	font-size: 11px;
	line-height: 1.25;
}

.addp-checkout-points-block--shipping .addp-pickup-options {
	max-height: min(42vh, 360px);
	overflow: auto;
	padding-right: 2px;
}

.addp-checkout-points-block--shipping .addp-pickup-options > label.addp-pickup-option {
	grid-template-columns: 16px 34px minmax(0, 1fr) max-content;
	min-height: 52px;
	padding: 7px 8px;
	column-gap: 8px;
}

.addp-checkout-points-block--shipping .addp-pickup-option__thumb {
	width: 34px;
	height: 34px;
	border-radius: 8px;
}

.addp-checkout-points-block--shipping .addp-pickup-option__main {
	grid-row: span 2;
}

.addp-checkout-points-block--shipping .addp-pickup-option__name,
.addp-checkout-points-block--shipping .addp-pickup-option__address,
.addp-checkout-points-block--shipping .addp-pickup-option__payout {
	font-size: 10px;
}

.addp-checkout-points-block--shipping .addp-pickup-option__address,
.addp-checkout-points-block--shipping .addp-pickup-option__payout {
	line-height: 1.25;
}

.addp-checkout-points-block--shipping .addp-pickup-option__distance {
	grid-column: 4;
	grid-row: 1;
	font-size: 10px;
	align-self: end;
}

.addp-checkout-points-block--shipping .addp-pickup-option__price {
	grid-column: 4;
	grid-row: 2;
	font-size: 11px;
	align-self: start;
}

:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__group {
	border-radius: 12px !important;
}

:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__group-head {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	grid-template-areas:
		"title cost"
		"sub sub" !important;
	align-items: baseline !important;
	gap: 2px 10px !important;
	margin-bottom: 8px !important;
}

:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__group-title {
	grid-area: title !important;
	min-width: 0;
}

:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__package-cost {
	grid-area: cost !important;
	justify-self: end !important;
	white-space: nowrap !important;
}

:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__group-sub {
	grid-area: sub !important;
	margin: 0 !important;
	font-size: 10px !important;
	line-height: 1.25 !important;
}

:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__list--compact {
	display: grid !important;
	grid-template-columns: minmax(108px, .8fr) minmax(0, 1.2fr) !important;
	align-items: end !important;
	gap: 8px !important;
}

:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__carrier-picker {
	min-width: 0 !important;
	margin: 0 !important;
}

:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__service-stack {
	display: grid !important;
	min-width: 0 !important;
	margin: 0 !important;
}

:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__service-wrap {
	display: none !important;
	min-width: 0 !important;
	margin: 0 !important;
}

:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__service-wrap.is-selected,
:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__service-wrap:has(.bs-ship__select.is-selected) {
	display: grid !important;
	grid-template-columns: 38px minmax(0, 1fr) !important;
	grid-template-areas:
		"logo label"
		"logo select" !important;
	align-items: center !important;
	gap: 2px 8px !important;
}

:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__service-head {
	grid-area: logo !important;
	display: grid !important;
	place-items: center !important;
	min-width: 0 !important;
	margin: 0 !important;
}

:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__service-head .bs-ship__carrier-title {
	display: none !important;
}

:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__carrier {
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	border-radius: 9px !important;
}

:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__carrier-logo {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	padding: 4px !important;
}

:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__select-label {
	grid-area: label !important;
	margin: 0 !important;
	font-size: 9px !important;
	line-height: 1.05 !important;
	letter-spacing: .02em !important;
}

:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__select {
	grid-area: select !important;
	min-width: 0 !important;
	width: 100% !important;
	min-height: 36px !important;
	padding-top: 7px !important;
	padding-bottom: 7px !important;
	border-radius: 10px !important;
	font-size: 11px !important;
	line-height: 1.2 !important;
}

.addp-checkout-points-block--shipping + .bs-shipnote,
:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .addp-checkout-points-block--shipping + .bs-shipnote {
	margin-top: 8px !important;
}

.addp-checkout-points__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}

.addp-checkout-points__header strong {
	font-size: 14px;
	line-height: 1.3;
	color: var(--addp-fg);
}

.addp-checkout-points__header label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	margin: 0;
	color: var(--addp-muted);
}

.addp-radius-select,
.addp-rate-group__select {
	min-height: 20px;
	border-radius: 5px;
	border: 1px solid color-mix(in oklch, var(--addp-accent) 18%, var(--addp-line));
	background: var(--addp-control-bg);
	color: var(--addp-control-fg);
	font-size: 10px;
	font-weight: 650;
	line-height: 1.25;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35);
}

.addp-radius-select {
	min-width: 88px;
	max-width: 112px;
	padding: 6px 10px;
}

.addp-rate-group__select {
	width: 100%;
	padding: 7px 10px;
}

.addp-radius-select:focus,
.addp-rate-group__select:focus {
	outline: none;
	border-color: color-mix(in oklch, var(--addp-accent) 56%, var(--addp-line));
	box-shadow:
		0 0 0 2px color-mix(in oklch, var(--addp-accent) 20%, transparent),
		inset 0 1px 0 rgba(255, 255, 255, .35);
}

.addp-pickup-status {
	font-size: 12px;
	line-height: 1.1;
	color: var(--addp-muted);
}

.addp-pickup-status.is-error {
	color: color-mix(in oklch, #ff6b5f 74%, var(--addp-fg));
}

.addp-pickup-status.is-warn {
	color: color-mix(in oklch, #ffb86b 72%, var(--addp-fg));
}

.addp-pickup-options {
	display: grid;
	gap: 8px;
}

.addp-native-shipping-hidden {
	display: none !important;
}

.addp-rate-groups {
	--addp-accent: var(--bc-accent, var(--bs-accent, var(--ctl-c2, #8f5bff)));
	--addp-fg: var(--bc-text, var(--bs-fg, var(--c-text, #fcf9ff)));
	--addp-muted: var(--bc-text-mid, var(--bs-text-mid, var(--c-text-mid, #e5dbf2)));
	--addp-low: var(--c-text-low, color-mix(in oklch, var(--addp-muted) 74%, transparent));
	--addp-line: var(--bc-border, var(--bs-line, var(--hairline, #ffffff1f)));
	--addp-surface-soft: color-mix(in oklch, black 16%, transparent);
	--addp-surface-strong: linear-gradient(
			180deg,
			color-mix(in oklch, var(--addp-accent) 14%, transparent),
			color-mix(in oklch, black 18%, transparent)
		);
	--addp-control-bg: color-mix(in oklch, white 92%, var(--addp-accent) 8%);
	--addp-control-fg: #1f2933;

	display: grid;
	gap: 10px;
}

.addp-rate-group,
.addp-pickup-option {
	border: 1px solid var(--addp-line);
	border-radius: 10px;
	background: var(--addp-surface-soft);
	color: var(--addp-fg);
	transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.addp-rate-group {
	padding: 10px;
}

.addp-rate-group.is-selected,
.addp-pickup-option:has(input:checked) {
	border-color: color-mix(in oklch, var(--addp-accent) 42%, var(--addp-line));
	background: var(--addp-surface-strong);
	box-shadow:
		0 0 0 1px color-mix(in oklch, var(--addp-accent) 16%, transparent),
		0 8px 18px rgba(0, 0, 0, .16);
}

.addp-rate-group:hover,
.addp-rate-group:focus-within,
.addp-pickup-option:hover,
.addp-pickup-option:focus-within {
	border-color: color-mix(in oklch, var(--addp-accent) 34%, var(--addp-line));
	background: linear-gradient(
		180deg,
		color-mix(in oklch, var(--addp-accent) 10%, transparent),
		color-mix(in oklch, black 16%, transparent)
	);
}

.addp-rate-group__choice {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr) auto;
	gap: 10px;
	align-items: start;
	margin: 0 0 8px;
	cursor: pointer;
}

.addp-rate-group__choice input,
.addp-pickup-option input {
	width: 14px;
	height: 14px;
	margin-top: 3px;
	accent-color: var(--addp-accent);
}

.addp-rate-group__copy,
.addp-pickup-option__main {
	min-width: 0;
}

.addp-rate-group__identity {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.addp-rate-group__text {
	display: block;
	min-width: 0;
}

.addp-rate-group__logo {
	display: inline-grid;
	place-items: center;
	flex: 0 0 46px;
	width: 46px;
	height: 30px;
	border: 1px solid var(--addp-line);
	border-radius: 9px;
	background:
		linear-gradient(
			180deg,
			color-mix(in oklch, white 10%, transparent),
			color-mix(in oklch, black 10%, transparent)
		),
		color-mix(in oklch, var(--addp-accent) 7%, transparent);
	overflow: hidden;
}

.addp-rate-group__logo img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 38px;
	max-height: 22px;
	object-fit: contain;
}

.addp-rate-group__logo--service-icon img {
	max-width: 26px;
	max-height: 26px;
}

.addp-rate-group__title,
.addp-rate-group__desc,
.addp-rate-group__price,
.addp-pickup-option__name,
.addp-pickup-option__address,
.addp-pickup-option__payout,
.addp-pickup-option__distance,
.addp-pickup-option__price {
	display: block;
}

.addp-rate-group__title,
.addp-pickup-option__name {
	font-size: 13px;
	font-weight: 800;
	color: var(--addp-fg);
}

.addp-rate-group__desc {
	margin-top: 2px;
	font-size: 9px;
	color: var(--addp-muted);
}

.addp-rate-group__note {
	margin-top: 2px;
	font-size: 10px;
	font-weight: 800;
	color: color-mix(in oklch, var(--addp-accent) 40%, var(--addp-muted));
}

.addp-rate-group__metrics {
	display: grid;
	justify-items: end;
	gap: 2px;
	align-self: center;
	min-width: max-content;
}

.addp-rate-group__distance {
	display: block;
	font-size: 11px;
	font-weight: 800;
	color: var(--addp-fg);
	white-space: nowrap;
}

.addp-rate-group__price {
	font-size: 13px;
	font-weight: 800;
	color: var(--addp-fg);
	white-space: nowrap;
}

.addp-rate-group__desc[hidden],
.addp-rate-group__note[hidden],
.addp-rate-group__distance[hidden] {
	display: none !important;
}

.addp-rate-group__select-wrap {
	display: block;
	margin: 0 0 0 28px;
}

.addp-checkout-points .addp-pickup-options > label.addp-pickup-option {
	display: grid !important;
	grid-template-columns: 18px 40px minmax(0, 1fr) max-content max-content;
	column-gap: 10px;
	row-gap: 2px;
	align-items: center;
	padding: 8px 10px;
	cursor: pointer;
	min-height: 58px;
}

.addp-checkout-points .addp-pickup-option > input {
	grid-column: 1;
	grid-row: 1;
	align-self: center;
	justify-self: center;
	margin: 0;
}

.addp-pickup-option__thumb {
	grid-column: 2;
	grid-row: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 9px;
	overflow: hidden;
	background:
		linear-gradient(
			180deg,
			color-mix(in oklch, var(--addp-accent) 10%, transparent),
			color-mix(in oklch, black 18%, transparent)
		);
	border: 1px solid color-mix(in oklch, var(--addp-accent) 18%, var(--addp-line));
	color: var(--addp-fg);
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
}

.addp-pickup-option__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.addp-pickup-option__thumb--empty {
	text-transform: uppercase;
}

.addp-pickup-option__main {
	grid-column: 3;
	grid-row: 1;
	display: grid;
	gap: 2px;
	min-width: 0;
}

.addp-pickup-option__name,
.addp-pickup-option__address,
.addp-pickup-option__payout {
	overflow: hidden;
	font-size: 12px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.addp-pickup-option__address,
.addp-pickup-option__payout {
	font-size: 11px;
	line-height: 1.35;
}

.addp-pickup-option__distance,
.addp-pickup-option__price {
	color: var(--addp-fg);
	font-weight: 750;
	font-size: 12px;
	text-align: right;
	white-space: nowrap;
	align-self: center;
	justify-self: end;
	min-width: max-content;
}

.addp-pickup-option__distance {
	grid-column: 4;
	grid-row: 1;
}

.addp-pickup-option__price {
	grid-column: 5;
	grid-row: 1;
	font-size: 13px;
	font-weight: 900;
}

.addp-pickup-option__address {
	color: var(--addp-muted);
}

.addp-pickup-option__payout {
	color: color-mix(in oklch, var(--addp-accent-2, var(--addp-accent)) 48%, var(--addp-fg));
	font-weight: 800;
	margin-top: 3px;
}

:where(body:not(.woocommerce-checkout):not(.woocommerce-cart)) .addp-checkout-points,
:where(body:not(.woocommerce-checkout):not(.woocommerce-cart)) .addp-rate-groups {
	--addp-accent: #5e87b8;
	--addp-accent-2: #6d8f2f;
	--addp-bg: #ffffff;
	--addp-fg: #1f2933;
	--addp-muted: #52606d;
	--addp-low: #627386;
	--addp-line: #d7dde3;
	--addp-surface: #ffffff;
	--addp-surface-soft: #f9fbfc;
	--addp-surface-strong: #ffffff;
	--addp-control-bg: #ffffff;
	--addp-control-fg: #1f2933;
	box-shadow: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

@media (max-width: 480px) {
	:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__list--compact {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__service-wrap.is-selected,
	:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__service-wrap:has(.bs-ship__select.is-selected) {
		grid-template-columns: 34px minmax(0, 1fr) !important;
	}

	:where(.bs-shiponly, .bs-summary, [data-bs-shipping-options]) .bs-ship__carrier {
		width: 32px !important;
		height: 32px !important;
		min-width: 32px !important;
	}

	.addp-checkout-points {
		padding: 12px;
	}

	.addp-checkout-points__header {
		align-items: stretch;
	}

	.addp-checkout-points__header label {
		justify-content: space-between;
		width: 100%;
	}

	.addp-rate-group__choice {
		grid-template-columns: 18px minmax(0, 1fr);
	}

	.addp-rate-group__metrics {
		grid-column: 2;
		justify-items: start;
		grid-auto-flow: column;
		gap: 8px;
	}

	.addp-rate-group__select-wrap {
		margin-left: 0;
	}

	.addp-checkout-points .addp-pickup-options > label.addp-pickup-option {
		grid-template-columns: 18px 40px minmax(0, 1fr) auto;
		gap: 8px;
	}

	.addp-pickup-option__thumb {
		width: 40px;
		height: 40px;
	}

	.addp-pickup-option__distance {
		grid-column: 4;
		grid-row: 1;
		align-self: end;
	}

	.addp-pickup-option__price {
		grid-column: 4;
		grid-row: 2;
		align-self: start;
	}

	.addp-pickup-option__main {
		grid-row: span 2;
	}
}
