/**
 * BannerStack — front-end styles.
 */

/* Shared banner --------------------------------------------------------------- */

.bsk {
	position: relative;
	width: 100%;
	opacity: 0;
	transition: opacity 0.35s ease;
}

.bsk--visible {
	opacity: 1;
}

.bsk__link {
	display: block;
	line-height: 0;
}

.bsk__link[hidden] {
	display: none;
}

.bsk__link img {
	display: block;
	width: 100%;
	height: auto;
	border: 0;
}

.bsk a {
	box-shadow: none;
}

/* Placement flavors ------------------------------------------------------------ */

.bsk--header {
	z-index: 9990;
}

.bsk--footer {
	z-index: 9990;
	margin-top: 24px;
}

.bsk--inline,
.bsk--widget {
	margin: 0 auto;
	border-radius: 10px;
	overflow: hidden;
}

/* Close ("Dismiss") button ----------------------------------------------------- */

.bsk__close {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(17, 17, 17, 0.55);
	color: #fff;
	cursor: pointer;
	line-height: 1;
	backdrop-filter: blur(4px);
	transition: background 0.2s ease, transform 0.2s ease;
}

.bsk__close:hover {
	background: rgba(17, 17, 17, 0.85);
	transform: scale(1.08);
}

.bsk__close:focus-visible {
	outline: 2px solid #c8f04a;
	outline-offset: 2px;
}

/* Slide-in / exit-intent popup --------------------------------------------------- */

.bsk-pop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 99999;
	width: min(340px, calc(100vw - 40px));
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
	transform: translate3d(0, calc(100% + 40px), 0);
	opacity: 0;
	transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.4s ease;
}

.bsk-pop--in {
	transform: translate3d(0, 0, 0);
	opacity: 1;
}

.bsk-pop .bsk__close {
	top: 10px;
	right: 10px;
}

@media (prefers-reduced-motion: reduce) {
	.bsk,
	.bsk-pop {
		transition: none;
	}
}
