#pb-cart-notice[hidden] { display: none !important; }

#pb-cart-notice {
	position: fixed;
	z-index: 99990;
	top: 100px;
	right: 16px;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	box-sizing: border-box;
	width: min(350px, calc(100vw - 24px));
	padding: 20px 42px 18px 18px;
	border: 1px solid #ead9dd;
	border-top: 3px solid #851229;
	border-radius: 8px;
	background: #fff;
	color: #282124;
	box-shadow: 0 12px 36px rgb(48 18 26 / 16%);
	font-family: inherit;
	text-align: left;
	animation: pb-cart-notice-in .2s ease-out;
}

#pb-cart-notice::before {
	content: '';
	position: absolute;
	top: -8px;
	left: var(--pb-cart-arrow, 85%);
	width: 10px;
	height: 10px;
	border-top: 2px solid #851229;
	border-left: 2px solid #851229;
	background: #fff;
	transform: rotate(45deg);
}

#pb-cart-notice .pb-cart-notice__icon {
	display: grid;
	place-items: center;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #f8edf0;
	color: #851229;
	font: 700 18px/1 sans-serif;
}

#pb-cart-notice .pb-cart-notice__message {
	margin: 0 0 8px;
	color: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
}

#pb-cart-notice .pb-cart-notice__link {
	color: #851229;
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

#pb-cart-notice .pb-cart-notice__close {
	position: absolute;
	top: 4px;
	right: 4px;
	display: grid;
	place-items: center;
	width: 36px;
	min-width: 36px;
	height: 36px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: #66575c;
	font: 24px/1 sans-serif;
	cursor: pointer;
}

#pb-cart-notice a:focus-visible,
#pb-cart-notice button:focus-visible { outline: 2px solid #851229; outline-offset: 2px; }
#pb-cart-notice.pb-cart-notice--error { border-top-color: #a32929; }
#pb-cart-notice.pb-cart-notice--unanchored::before { display: none; }
#pb-cart-notice.pb-cart-notice--error .pb-cart-notice__icon { color: #a32929; }
.pb-cart-notice-pulse { animation: pb-cart-notice-pulse .55s ease-out; }

@keyframes pb-cart-notice-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pb-cart-notice-pulse { 50% { transform: scale(1.12); } }
@media (prefers-reduced-motion: reduce) {
	#pb-cart-notice, .pb-cart-notice-pulse { animation: none; }
}
