/* ─────────────────────────────────────────────────────────
   Phoenix Promo Strip  v1.23.0
   ───────────────────────────────────────────────────────── */

/* === Base strip === */
.pps-strip {
	position: relative;
	width: 100%;
	overflow: hidden;
	box-sizing: border-box;
	line-height: 1.4;
}

.pps-link {
	color: inherit;
	text-decoration: none;
	display: block;
}
.pps-link:hover,
.pps-link:focus {
	color: inherit;
	text-decoration: none;
	opacity: 0.9;
}

/* === Static (non-marquee) inner === */
.pps-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	white-space: nowrap;
}
/* Default icon ↔ text spacing via margins (works in both flex & inline modes) */
.pps-icons--lead { margin-right: 10px; }
.pps-icons--trail { margin-left: 10px; }

.pps-text {
	white-space: nowrap;
}

/* === Icon group wrappers === */
.pps-icons {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	gap: 6px; /* overridden by Elementor selector */
}

/* === Individual icon wrappers === */
.pps-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 1;
}
.pps-icon i {
	font-size: inherit;
}
.pps-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}
/* Inline SVG icons */
.pps-svg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}
.pps-svg svg {
	width: 1em;
	height: 1em;
	display: block;
	fill: currentColor;
}
/* Fallback img (editor pending state) */
.pps-svg img {
	width: 1em;
	height: 1em;
	display: block;
	object-fit: contain;
}

/* === Marquee === */
.pps-marquee-wrap {
	display: none;
	overflow: hidden;
	width: 100%;
}

.pps-marquee-track {
	display: flex;
	align-items: center;
	width: max-content;
	will-change: transform;
}

.pps-marquee-segment {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
	flex-shrink: 0;
}

.pps-marquee-gap {
	display: inline-block;
	width: 80px;
	flex-shrink: 0;
}

/* Marquee animation */
@keyframes pps-scroll {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

.pps-marquee-track.pps-running {
	animation: pps-scroll var(--pps-speed, 15s) linear infinite;
}

/* Pause on hover when configured */
.pps-strip[data-pause="true"] .pps-marquee-track.pps-running:hover {
	animation-play-state: paused;
}

/* === Dismiss button === */
.pps-dismiss {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	padding: 4px;
	cursor: pointer;
	color: inherit;
	line-height: 1;
	z-index: 2;
	opacity: 0.8;
	transition: opacity 0.2s;
}
.pps-dismiss:hover {
	opacity: 1;
}
.pps-dismiss i {
	font-size: inherit;
}
.pps-dismiss svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

/* === Marquee breakpoint activation ===
   The static inner hides and the marquee shows
   when the strip has the matching class AND we're
   in that breakpoint. */

/* Mobile: ≤ 767px */
@media (max-width: 767px) {
	/* Marquee ON → hide static, show scroll */
	.pps-strip.pps-mq-mob .pps-static { display: none; }
	.pps-strip.pps-mq-mob .pps-marquee-wrap { display: block; }

	/* Marquee OFF → inline-flow wrap so icons stay with text */
	.pps-strip:not(.pps-mq-mob) .pps-inner {
		display: inline;
		white-space: normal;
		word-break: break-word;
	}
	.pps-strip:not(.pps-mq-mob) .pps-text {
		white-space: normal;
	}
	.pps-strip:not(.pps-mq-mob) .pps-icons {
		display: inline-flex;
		vertical-align: middle;
	}
	.pps-strip:not(.pps-mq-mob) .pps-icon {
		vertical-align: middle;
	}
}

/* Tablet: 768–1024px */
@media (min-width: 768px) and (max-width: 1024px) {
	.pps-strip.pps-mq-tab .pps-static { display: none; }
	.pps-strip.pps-mq-tab .pps-marquee-wrap { display: block; }

	.pps-strip:not(.pps-mq-tab) .pps-inner {
		display: inline;
		white-space: normal;
		word-break: break-word;
	}
	.pps-strip:not(.pps-mq-tab) .pps-text {
		white-space: normal;
	}
	.pps-strip:not(.pps-mq-tab) .pps-icons {
		display: inline-flex;
		vertical-align: middle;
	}
	.pps-strip:not(.pps-mq-tab) .pps-icon {
		vertical-align: middle;
	}
}

/* Desktop: ≥ 1025px */
@media (min-width: 1025px) {
	.pps-strip.pps-mq-desk .pps-static { display: none; }
	.pps-strip.pps-mq-desk .pps-marquee-wrap { display: block; }

	.pps-strip:not(.pps-mq-desk) .pps-inner {
		display: inline;
		white-space: normal;
		word-break: break-word;
	}
	.pps-strip:not(.pps-mq-desk) .pps-text {
		white-space: normal;
	}
	.pps-strip:not(.pps-mq-desk) .pps-icons {
		display: inline-flex;
		vertical-align: middle;
	}
	.pps-strip:not(.pps-mq-desk) .pps-icon {
		vertical-align: middle;
	}
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
	.pps-marquee-track.pps-running {
		animation: none !important;
	}
}
