.ppu-offer-slot:empty {
	display: none;
}

.ppu-offer-slot {
	clear: both;
	margin: 0 0 1.5rem;
}

.ppu-offer-slot--cart + .woocommerce-cart-form,
.woocommerce-cart-form + .ppu-offer-slot--cart {
	margin-top: 1.5rem;
}

.ppu-offer {
	--ppu-background: #fff7df;
	--ppu-accent: #7a4b00;
	--ppu-text: #2d250f;
	--ppu-button-background: #7a4b00;
	--ppu-button-text: #fff;
	--ppu-button-hover: #5c3800;
	--ppu-button-hover-text: #fff;
	--ppu-animation-duration: 1.6s;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	box-sizing: border-box;
	width: 100%;
	padding: 1.15rem 1.25rem;
	border: 1px solid #d8c8a0;
	border-color: color-mix(in srgb, var(--ppu-accent), transparent 65%);
	border-left: 5px solid var(--ppu-accent);
	border-radius: 8px;
	background: var(--ppu-background);
	color: var(--ppu-text);
}

.ppu-offer__message {
	flex: 1 1 auto;
	font-size: 1rem;
	line-height: 1.55;
}

.ppu-offer__message p {
	margin: 0;
}

.ppu-offer__form {
	flex: 0 0 auto;
	margin: 0;
}

body .ppu-offer .button.ppu-offer__button {
	border-color: var(--ppu-button-background) !important;
	background-color: var(--ppu-button-background) !important;
	background-image: none !important;
	color: var(--ppu-button-text) !important;
	white-space: normal;
	text-align: center;
	text-decoration: none !important;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

body .ppu-offer .button.ppu-offer__button:hover,
body .ppu-offer .button.ppu-offer__button:focus,
body .ppu-offer .button.ppu-offer__button:active {
	border-color: var(--ppu-button-hover) !important;
	background-color: var(--ppu-button-hover) !important;
	background-image: none !important;
	color: var(--ppu-button-hover-text) !important;
}

body .ppu-offer .button.ppu-offer__button:focus-visible {
	outline: 3px solid #c9b37a;
	outline: 3px solid color-mix(in srgb, var(--ppu-button-hover), transparent 55%);
	outline-offset: 3px;
}

.ppu-animation--pulse {
	animation: ppu-button-pulse var(--ppu-animation-duration) ease-in-out infinite;
}

.ppu-animation--glow {
	animation: ppu-button-glow var(--ppu-animation-duration) ease-in-out infinite alternate;
}

.ppu-animation--float {
	animation: ppu-button-float var(--ppu-animation-duration) ease-in-out infinite;
}

.ppu-animation--wiggle {
	animation: ppu-button-wiggle var(--ppu-animation-duration) ease-in-out infinite;
}

@keyframes ppu-button-pulse {
	0%, 100% {
		transform: scale(1);
		box-shadow: 0 0 0 0 color-mix(in srgb, var(--ppu-button-background), transparent 55%);
	}
	50% {
		transform: scale(1.045);
		box-shadow: 0 0 0 9px transparent;
	}
}

@keyframes ppu-button-glow {
	from {
		box-shadow: 0 0 0 color-mix(in srgb, var(--ppu-button-background), transparent 100%);
	}
	to {
		box-shadow: 0 0 18px color-mix(in srgb, var(--ppu-button-background), transparent 30%);
	}
}

@keyframes ppu-button-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-5px); }
}

@keyframes ppu-button-wiggle {
	0%, 78%, 100% { transform: rotate(0); }
	84% { transform: rotate(-2deg); }
	90% { transform: rotate(2deg); }
	96% { transform: rotate(-1deg); }
}

.ppu-offer-slot--mini-cart {
	margin: 0 0 1rem;
}

.ppu-offer-slot--floating-cart {
	margin: 1rem 0;
}

.ppu-offer-slot--mini-cart .ppu-offer,
.ppu-offer-slot--floating-cart .ppu-offer {
	align-items: stretch;
	flex-direction: column;
	padding: 0.9rem;
}

.ppu-offer-slot--mini-cart .ppu-offer__button,
.ppu-offer-slot--floating-cart .ppu-offer__button {
	width: 100%;
}

.ppu-offer-slot--floating-cart .ppu-offer__message {
	font-size: 0.9rem;
}

.ppu-offer-slot--blocks.wc-block-components-totals-wrapper {
	padding: 0;
}

@media (max-width: 640px) {
	.ppu-offer {
		align-items: stretch;
		flex-direction: column;
		padding: 1rem;
	}

	.ppu-offer__button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ppu-offer__button {
		animation: none !important;
		transition: none !important;
	}
}


