.rvcp-promo-root {
	position: sticky;
	top: 0;
	display: grid;
	grid-template-rows: 1fr;
	transition: grid-template-rows 0.25s ease;
	z-index: 9998;
	overflow: visible;
	box-shadow: 0 1px 0 0 #fff3;
}

body.rvcp-has-promo-bar-offset #header {
	top: var(--rvcp-bar-height, 0px);
}

body.rvcp-has-promo-bar-offset .header_buffer {
	padding-top: var(--rvcp-bar-height, 0px);
}

.rvcp-promo-root[data-rvcp-fallback="1"] {
	display: block;
}

.rvcp-promo-root.is-hidden {
	display: none;
}

.rvcp-promo-root.is-scrolled[data-mode="collapse"] {
	grid-template-rows: 0fr;
}

.rvcp-promo-bar {
	position: relative;
	top: 0;
	min-height: 0;
	overflow: hidden;
	background: var(--rvcp-banner-bg, #ffffff);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
	transform: translate3d(0, 0, 0);
	transition: transform 0.25s ease, opacity 0.25s ease, box-shadow 0.25s ease;
	will-change: transform;
	backface-visibility: hidden;
}

.rvcp-promo-root.is-scrolled[data-mode="collapse"] .rvcp-promo-bar {
	transform: translate3d(0, calc(-100% - 2px), 0);
	box-shadow: none;
}

.rvcp-promo-link {
	display: block;
	width: 100%;
	max-width: 1800px;
	margin: 0 auto;
}

.rvcp-promo-image {
	display: block;
	width: 100%;
	height: auto;
}

.rvcp-promo-image-mobile {
	display: none;
}

.rvcp-promo-close {
	position: absolute;
	top: 50%;
	right: 12px;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.55);
	color: #ffffff;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	transform: translateY(-50%);
}

.rvcp-promo-square {
	display: block;
	width: 100%;
	max-width: 540px;
}

.rvcp-promo-square img {
	display: block;
    width: 100%;
    height: auto;
    max-height: 242px;
    object-fit: contain;
}

@media (max-width: 767px) {
	.rvcp-promo-image-desktop {
		display: none;
	}

	.rvcp-promo-image-mobile {
		display: block;
	}

	.rvcp-promo-close {
		right: 8px;
		width: 28px;
		height: 28px;
		font-size: 18px;
	}
}
