/* Seasonal: garland + hero banner */
.fl-christmas-garland {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	pointer-events: none;
	height: 50px;
	overflow: hidden;
}

.lightrope {
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	position: absolute;
	z-index: 1;
	margin: -15px 0 0 0;
	padding: 0;
	pointer-events: none;
	width: 100%;
}

.lightrope li {
	position: relative;
	animation-fill-mode: both;
	animation-iteration-count: infinite;
	list-style: none;
	margin: 0;
	padding: 0;
	display: block;
	width: 12px;
	height: 28px;
	border-radius: 50%;
	margin: 20px;
	display: inline-block;
	background: #00f7a5;
	box-shadow: 0 4.67px 24px 3px #00f7a5;
	animation-name: flash-1;
	animation-duration: 2s;
}

.lightrope li:nth-child(2n+1) {
	background: #0ff;
	box-shadow: 0 4.67px 24px 3px rgba(0, 255, 255, 0.5);
	animation-name: flash-2;
	animation-duration: 0.4s;
}

.lightrope li:nth-child(4n+2) {
	background: #f70094;
	box-shadow: 0 4.67px 24px 3px #f70094;
	animation-name: flash-3;
	animation-duration: 1.1s;
}

.lightrope li:nth-child(odd) {
	animation-duration: 1.8s;
}

.lightrope li:nth-child(3n+1) {
	animation-duration: 1.4s;
}

.lightrope li::before {
	content: "";
	position: absolute;
	background: #222;
	width: 10px;
	height: 9.33px;
	border-radius: 3px;
	top: -4.67px;
	left: 1px;
}

.lightrope li::after {
	content: "";
	top: -14px;
	left: 9px;
	position: absolute;
	width: 52px;
	height: 18.67px;
	border-bottom: solid #222 2px;
	border-radius: 50%;
}

.lightrope li:last-child::after {
	content: none;
}

.lightrope li:first-child {
	margin-left: -40px;
}

@keyframes flash-1 {
	0%, 100% { background: #00f7a5; box-shadow: 0 4.67px 24px 3px #00f7a5; }
	50% { background: rgba(0, 247, 165, 0.4); box-shadow: 0 4.67px 24px 3px rgba(0, 247, 165, 0.2); }
}

@keyframes flash-2 {
	0%, 100% { background: #0ff; box-shadow: 0 4.67px 24px 3px #0ff; }
	50% { background: rgba(0, 255, 255, 0.4); box-shadow: 0 4.67px 24px 3px rgba(0, 255, 255, 0.2); }
}

@keyframes flash-3 {
	0%, 100% { background: #f70094; box-shadow: 0 4.67px 24px 3px #f70094; }
	50% { background: rgba(247, 0, 148, 0.4); box-shadow: 0 4.67px 24px 3px rgba(247, 0, 148, 0.2); }
}

/* Hero seasonal banner */
.fl-hero__banner {
	display: block;
	position: relative;
	border-radius: var(--fl-radius-lg, 12px);
	overflow: hidden;
	text-decoration: none;
}

.fl-hero__banner-img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.fl-hero__banner-btn {
	position: absolute;
	left: 50%;
	bottom: 20px;
	transform: translateX(-50%);
	white-space: nowrap;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.fl-hero--banner .fl-hero__visual {
	border-radius: var(--fl-radius-lg, 12px);
	overflow: hidden;
}

/* Snow canvas */
#cvety-snow-canvas {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 9998;
}

@media (max-width: 768px) {
	.fl-christmas-garland {
		display: none;
	}
}
