/*
 * Kininusa News — floating ad styles (Phase 13).
 *
 * Loaded ONLY when a closable slot (bottom / floating_left / floating_right /
 * mobile_floating) has content — see AdsManager::assets(). The close-button
 * behaviour lives in assets/js/ads.js (same condition; zero JS otherwise).
 *
 * Responsive contract (§20/§21):
 *   floating_left / floating_right — wide desktop only (≥1360px);
 *   bottom                        — desktop/tablet, hidden ≤640px;
 *   mobile_floating               — ≤640px only.
 * Z-index: --kn-z-float (10) — below dropdown/header/backdrop/drawer/overlay.
 */
.kn-ad-slot__close {
	position: absolute;
	top: 2px;
	right: 4px;
	width: 26px;
	height: 26px;
	padding: 0;
	border: 1px solid var(--kn-color-border);
	border-radius: var(--kn-radius-circle);
	background: var(--kn-color-background);
	color: var(--kn-color-text-muted);
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
}

.kn-ad-slot--closed {
	display: none;
}

/* Floating left / right: wide screens only. */
.kn-ad-slot--floating-left,
.kn-ad-slot--floating-right {
	position: fixed;
	top: 42%;
	z-index: var(--kn-z-float);
	width: 160px;
	margin: 0;
	display: none;
}

.kn-ad-slot--floating-left {
	left: 8px;
}

.kn-ad-slot--floating-right {
	right: 8px;
}

@media (min-width: 1360px) {
	.kn-ad-slot--floating-left,
	.kn-ad-slot--floating-right {
		display: block;
	}
}

/* Sticky bottom bar (desktop / tablet). */
.kn-ad-slot--bottom {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: var(--kn-z-float);
	margin: 0;
	padding: var(--kn-space-3);
	background: var(--kn-color-background);
	border-top: 1px solid var(--kn-color-border);
	box-shadow: var(--kn-shadow-lg);
}

/* Mobile floating banner: small screens only. */
.kn-ad-slot--mobile-floating {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: var(--kn-z-float);
	margin: 0;
	display: none;
}

@media (max-width: 640px) {
	.kn-ad-slot--bottom {
		display: none;
	}

	.kn-ad-slot--mobile-floating {
		display: block;
	}
}
