/* SCP Toasts */
.scp-toasts {
	position: fixed;
	right: 16px;
	bottom: 16px;
	z-index: 999999;
	display: grid;
	gap: 10px;
	max-width: min(420px, calc(100vw - 32px));
}

.scp-toast {
	background: #111;
	color: #fff;
	border-radius: 12px;
	padding: 10px 12px;
	box-shadow: 0 8px 24px rgba(0,0,0,.25);
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.scp-toast__icon {
	width: 22px;
	height: 22px;
	flex: 0 0 auto;
	border-radius: 999px;
	margin-top: 2px;
	background: rgba(255,255,255,.18);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	line-height: 1;
}

.scp-toast__content {
	flex: 1 1 auto;
	font-size: 14px;
	line-height: 1.35;
}

.scp-toast__title {
	font-weight: 700;
	margin: 0 0 2px 0;
	font-size: 14px;
}

.scp-toast__message {
	margin: 0;
	opacity: .92;
}

.scp-toast--success .scp-toast__icon {
	background: rgba(46, 204, 113, .25);
}

.scp-toast--error .scp-toast__icon {
	background: rgba(231, 76, 60, .25);
}

.scp-toast__close {
	border: 0;
	background: transparent;
	color: rgba(255,255,255,.85);
	cursor: pointer;
	padding: 0;
	line-height: 1;
	font-size: 18px;
	margin-left: 6px;
}
.scp-toast__close:hover { color: #fff; }



/* Badge */
.scp-badge {
	display: inline-flex;
	gap: .5em;
	align-items: center;
}

.scp-badge__count {
	display: block;
	width: 30px;
	text-align: center;
	border-radius: 999px;
	font-size: 16px;
	line-height: 30px;
	font-weight: 700;
	background-color: #2CADB4;
	color: #fff;
}

.scp-badge__count.is-hidden {
	display: none;
}



.scp-cart__add-to-cart {
	border: none;
	font-size: 0;
	/* End resets */
	cursor: pointer;
	aspect-ratio: 1 / 1;
	border-radius: 999px;
	color: #fff;
	background-color: #2CADB4;
}
	.scp-cart__add-to-cart__icon {
		width: 24px;
	}



/* Helpers */
.scp-is-hidden { display: none; }

/* Pharmacy carts wrapper spacing */
.scp-pharmacy-carts {
	margin-top: 18px;
}

.scp-cart {
}
	.scp-cart__btn {
		--scp-qty-btn-padding: 10px;
		--scp-qty-btn-font-size: 16px;
		--scp-qty-btn-line-height: 1.2;

		border: none;
		padding: 0;
		/* End resets */
		cursor: pointer;
		border-radius: calc(((var(--scp-qty-btn-font-size) * var(--scp-qty-btn-line-height)) + (2 * var(--scp-qty-btn-padding))) * 0.5);
		padding: var(--scp-qty-btn-padding);
		font-family: "Source Sans Pro", sans-serif;
		font-weight: 600;
		font-size: var(--scp-qty-btn-font-size);
		line-height: var(--scp-qty-btn-line-height);
		text-align: center;
		color: #fff;
		background-color: #2CADB4;
	}

	.scp-cart__header {
		padding: 20px;
	}

	.scp-cart__footer {
		padding: 20px;
		margin-top: 10px;
		display: flex;
		gap: 10px;
		align-items: center;
		justify-content: space-between;
	}

	.scp-cart__clear-btn {
		margin-left: auto;
		padding-right: 26px;
		padding-left: 26px;
	}

	/* Pharmacy section spacing + divider */
	.scp-pharmacy-cart {
		margin-top: 18px;
		padding-top: 14px;
		border-top: 1px solid rgba(0,0,0,.12);
	}

	/* Row layout (z template row) */
	.scp-cart__row {
		border-top-left-radius: 18px;
		border-top-right-radius: 18px;
		border-bottom-left-radius: 18px;
		border-bottom-right-radius: 18px;
		padding: 10px 20px;
		display: flex;
		gap: 10px;
		align-items: center;
		background-color: #fff;
	}
		.scp-cart__row:not(:last-child) {
			margin-bottom: 20px;
		}

		.scp-cart__row--missing-price {
			opacity: 0.5;
		}

	.scp-cart__image {
		margin-right: 24px;
		width: 128px;
		height: 128px;
		object-fit: contain;
		border-radius: 10px;
	}

	.scp-cart__main {
		flex: 1;
	}

	.scp-cart__meta {
		font-size: 0.9em;
		opacity: 0.8;
	}

	.scp-cart__missing {
		font-weight: 700;
	}

	.scp-cart__qty {
		overflow: hidden;
		display: flex;
		align-items: center;
		border-radius: 999px;
		background-color: #2CADB4;
	}
		.scp-cart__qty-btn {
			aspect-ratio: 1 / 1;
			height: calc((var(--scp-qty-btn-font-size) * var(--scp-qty-btn-line-height)) + (2 * var(--scp-qty-btn-padding)));
		}

		.scp-cart__qty-value {
			min-width: 2ch;
			text-align: center;
			font-family: "Source Sans Pro", sans-serif;
			font-weight: 600;
			font-size: var(--scp-qty-btn-font-size);
			line-height: var(--scp-qty-btn-line-height);
			text-align: center;
			color: #fff;
		}

	.scp-cart__remove-btn {
		aspect-ratio: 1 / 1;
		height: calc((var(--scp-qty-btn-font-size) * var(--scp-qty-btn-line-height)) + (2 * var(--scp-qty-btn-padding)));
	}