.furi-promo-banner {
	--furi-banner-bg: #030303;
	--furi-banner-grad-start: #050505;
	--furi-banner-grad-end: #201500;
	--furi-banner-headline: #f7d36a;
	--furi-banner-subtext: #fff4c8;
	--furi-banner-cta-bg: #f2b600;
	--furi-banner-cta-text: #050505;
	--furi-banner-border: #d9a300;
	--furi-banner-glow: #f2b600;
	--furi-banner-accent: #ffcc33;
	--furi-banner-headline-size: 34px;
	--furi-banner-subtext-size: 14px;
	--furi-banner-letter-spacing: 0.08em;
	--furi-banner-line-height: 1.05;
	--furi-banner-align: center;
	--furi-banner-height: 86px;
	--furi-banner-max-width: min(1120px, calc(100vw - 24px));
	--furi-banner-padding-x: 22px;
	--furi-banner-padding-y: 14px;
	--furi-banner-radius: 16px;
	--furi-banner-border-width: 1px;
	--furi-banner-z-index: 9998;
	--furi-banner-tilt: 0deg;
	--furi-banner-offset-x: 0px;
	--furi-banner-offset-y: 0px;
	--furi-banner-opacity: 1;
	--furi-banner-bg-opacity: .92;
	--furi-banner-glass-blur: 10px;
	--furi-banner-border-opacity: .8;
	--furi-banner-metallic-intensity: .45;
	font-family: Arial, sans-serif;
	color: #f5f3ee;
	position: fixed;
	left: 12px;
	right: 12px;
	z-index: var(--furi-banner-z-index);
	box-sizing: border-box;
	border: var(--furi-banner-border-width) solid color-mix(in srgb, var(--furi-banner-border) calc(var(--furi-banner-border-opacity) * 100%), transparent);
	background: linear-gradient(135deg, var(--furi-banner-grad-start), var(--furi-banner-bg) 40%, var(--furi-banner-grad-end));
	opacity: var(--furi-banner-opacity);
	box-shadow: 0 0 24px rgba(242, 182, 0, 0.2);
	border-radius: var(--furi-banner-radius);
	backdrop-filter: blur(var(--furi-banner-glass-blur));
	overflow: hidden;
	position: fixed;
	translate: var(--furi-banner-offset-x) var(--furi-banner-offset-y);
}

.furi-promo-banner--top-sticky { top: 8px; }
.furi-promo-banner--bottom-sticky { bottom: 8px; }
.furi-promo-banner--floating-corner {
	top: 16px;
	right: 16px;
	left: auto;
	max-width: 360px;
}
.furi-promo-banner--tilted-corner-ribbon {
	top: 16px;
	right: 16px;
	left: auto;
	max-width: 280px;
	transform: rotate(var(--furi-banner-tilt));
	transform-origin: top right;
}
.furi-promo-banner--catalog,
.furi-promo-banner--product,
.furi-promo-banner--pill {
	left: 12px;
	right: 12px;
	max-width: var(--furi-banner-max-width);
	margin: 0 auto;
}
.furi-promo-banner--catalog,
.furi-promo-banner--product { top: 8px; }
.furi-promo-banner--promo-pill { bottom: 12px; max-width: 480px; }

.furi-promo-banner__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
	padding: var(--furi-banner-padding-y) var(--furi-banner-padding-x);
	text-align: var(--furi-banner-align);
	min-height: var(--furi-banner-height);
}

.furi-promo-banner__eyebrow {
	font: 700 11px/1 Arial, sans-serif;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--furi-banner-accent);
}

.furi-font-furi_wide {
	font-family: "Trebuchet MS", "Arial Narrow", Arial, sans-serif;
}

.furi-font-furi_compact {
	font-family: "Arial Narrow", Arial, sans-serif;
}

.furi-font-furi_mono {
	font-family: "Courier New", monospace;
	letter-spacing: .12em;
}

.furi-font-furi_heavy {
	font-family: "Arial Black", Arial, sans-serif;
}

.furi-promo-banner__copy {
	flex: 1 1 320px;
	min-width: 0;
}

.furi-promo-banner__headline {
	font-weight: 900;
	font-size: var(--furi-banner-headline-size);
	line-height: var(--furi-banner-line-height);
	letter-spacing: var(--furi-banner-letter-spacing);
	text-transform: var(--furi-banner-transform, uppercase);
	color: var(--furi-banner-headline);
	text-wrap: balance;
}

.furi-promo-banner__subtext {
	margin-top: 6px;
	font-size: var(--furi-banner-subtext-size);
	line-height: 1.55;
	color: var(--furi-banner-subtext);
}

.furi-font-furi_mono .furi-promo-banner__headline,
.furi-font-furi_mono .furi-promo-banner__eyebrow {
	font-family: "Courier New", monospace;
}

.furi-font-furi_compact .furi-promo-banner__headline {
	letter-spacing: .12em;
}

.furi-font-furi_heavy .furi-promo-banner__headline {
	letter-spacing: .06em;
}

.furi-promo-banner__actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
}

.furi-promo-banner__cta,
.furi-promo-banner__secondary-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	padding: 10px 16px;
	text-decoration: none;
	font-weight: 800;
	line-height: 1;
}

.furi-promo-banner__cta {
	background: var(--furi-banner-cta-bg);
	color: var(--furi-banner-cta-text);
	box-shadow: 0 0 18px rgba(242, 182, 0, .2);
}

.furi-promo-banner__secondary-cta {
	border: 1px solid rgba(255, 255, 255, .14);
	color: #fff7d0;
	background: rgba(255, 255, 255, .04);
}

.furi-promo-banner__close {
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	padding: 4px;
	margin-left: auto;
}

.furi-effect-none {}
.furi-effect-subtle-pulse { animation: furiPulse 3.5s ease-in-out infinite; }
.furi-effect-glow-breathing { animation: furiGlowBreath 4s ease-in-out infinite; }
.furi-effect-shine-sweep { overflow: hidden; }
.furi-effect-shine-sweep::before,
.furi-effect-gold-shimmer::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.12) 45%, transparent 60%);
	transform: translateX(-120%);
	animation: furiShineSweep 4s ease-in-out infinite;
	pointer-events: none;
}
.furi-effect-gold-shimmer::before { background: linear-gradient(120deg, transparent 0%, rgba(255,215,120,.18) 45%, transparent 60%); animation: furiGoldShimmer 4s ease-in-out infinite; }
.furi-effect-vibration-pulse { animation: furiVibration 1.6s linear infinite; }
.furi-effect-floating-motion { animation: furiFloat 4.5s ease-in-out infinite; }
.furi-effect-marquee-text .furi-promo-banner__headline { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.furi-effect-tilted-corner-bounce { animation: furiCornerBounce 2.8s ease-in-out infinite; }
.furi-effect-countdown-blink { animation: furiCountdownBlink 1.3s steps(2, end) infinite; }
.furi-effect-cta-pulse .furi-promo-banner__cta { animation: furiCtaPulse 2.2s ease-in-out infinite; }

.furi-effect-brushed-metal::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		repeating-linear-gradient(90deg, rgba(255,255,255,.055) 0, rgba(255,255,255,.008) 1px, rgba(0,0,0,.045) 2px, transparent 4px),
		linear-gradient(112deg, transparent 12%, rgba(255,232,166,.22) 43%, transparent 62%);
	background-blend-mode: soft-light, screen;
	opacity: var(--furi-banner-metallic-intensity);
}

.furi-promo-banner__sparkles {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}

.furi-promo-banner__sparkles i {
	position: absolute;
	left: var(--sparkle-x, 12%);
	top: var(--sparkle-y, 24%);
	width: 3px;
	height: 3px;
	background: var(--furi-banner-accent);
	border-radius: 50%;
	box-shadow: 0 0 8px var(--furi-banner-glow);
	animation: furiSparkle 3.8s ease-in-out infinite;
	animation-delay: var(--sparkle-delay, 0s);
}

.furi-promo-banner__sparkles i:nth-child(2) { --sparkle-x: 28%; --sparkle-y: 70%; --sparkle-delay: -.7s; }
.furi-promo-banner__sparkles i:nth-child(3) { --sparkle-x: 47%; --sparkle-y: 18%; --sparkle-delay: -1.8s; }
.furi-promo-banner__sparkles i:nth-child(4) { --sparkle-x: 66%; --sparkle-y: 76%; --sparkle-delay: -2.5s; }
.furi-promo-banner__sparkles i:nth-child(5) { --sparkle-x: 82%; --sparkle-y: 30%; --sparkle-delay: -1.2s; }
.furi-promo-banner__sparkles i:nth-child(6) { --sparkle-x: 93%; --sparkle-y: 64%; --sparkle-delay: -3.1s; }

.furi-promo-banner__inner > :not(.furi-promo-banner__sparkles) {
	position: relative;
	z-index: 1;
}

@keyframes furiPulse { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-1px)} }
@keyframes furiGlowBreath { 0%,100%{box-shadow:0 0 18px rgba(242,182,0,.14)} 50%{box-shadow:0 0 30px rgba(242,182,0,.35)} }
@keyframes furiShineSweep { 0%{transform:translateX(-120%)} 50%,100%{transform:translateX(120%)} }
@keyframes furiGoldShimmer { 0%{transform:translateX(-140%)} 100%{transform:translateX(140%)} }
@keyframes furiVibration { 0%,100%{transform:translateX(0)} 20%{transform:translateX(-1px)} 40%{transform:translateX(1px)} 60%{transform:translateX(-1px)} 80%{transform:translateX(1px)} }
@keyframes furiFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }
@keyframes furiCornerBounce { 0%,100%{transform:rotate(var(--furi-banner-tilt)) translateY(0)} 50%{transform:rotate(var(--furi-banner-tilt)) translateY(-3px)} }
@keyframes furiCountdownBlink { 0%,100%{opacity:1} 50%{opacity:.6} }
@keyframes furiCtaPulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.03)} }
@keyframes furiSparkle { 0%, 70%, 100% { opacity: 0; transform: scale(.4) rotate(0deg); } 78% { opacity: .9; transform: scale(1.7) rotate(45deg); } 88% { opacity: .25; transform: scale(.8) rotate(90deg); } }

@media (prefers-reduced-motion: reduce) {
	.furi-promo-banner,
	.furi-promo-banner::before,
	.furi-promo-banner * {
		animation: none !important;
		transition: none !important;
	}
}

@media (max-width: 720px) {
	.furi-promo-banner {
		left: 8px;
		right: 8px;
		max-width: calc(100vw - 16px);
	}

	.furi-promo-banner__inner {
		align-items: flex-start;
	}
}
