.bbbp-ad-slot {
	clear: both;
	width: 100%;
	max-width: 100%;
	margin: 28px auto;
	text-align: center;
	contain: layout;
}

.bbbp-ad-slot--desktop-header {
	margin: 14px auto 18px;
}

.bbbp-ad-slot--desktop-sidebar {
	margin: 0 auto 28px;
}

.bbbp-ad-slot--mobile-article {
	min-height: 250px;
	padding: 8px 0;
}

.bbbp-ad-slot--mobile-directory {
	grid-column: 1 / -1;
	min-height: 250px;
	padding: 18px 0;
}

.bbbp-ad-slot--mobile-template {
	grid-column: 1 / -1;
}

.bbbp-ad-slot--mobile-secondary {
	margin-top: 36px;
	margin-bottom: 36px;
}

.bbbp-ad-slot--mobile-home-lead {
	margin-top: 24px;
	margin-bottom: 24px;
}

.bbbp-ad-bottom-band {
	clear: both;
	width: 100%;
	padding: 26px 16px 30px;
	background: #f4f6fa;
	text-align: center;
}

.bbbp-ad-bottom-band .bbbp-ad-slot {
	margin-top: 0;
	margin-bottom: 0;
}

.bbbp-ad-slot--desktop-bottom,
.bbbp-ad-slot--mobile-bottom {
	margin-left: auto;
	margin-right: auto;
}

.bbbp-ad-label {
	display: block;
	margin: 0 0 6px;
	color: #737b8d;
	font: 600 10px/1.2 Inter, ui-sans-serif, system-ui, sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bbbp-ad-mount {
	display: block;
	width: 100%;
	max-width: 100%;
}

.bbbp-ad-slot--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 90px;
	border: 1px dashed #91a0b9;
	background: #f7f9fc;
	color: #536079;
	font: 700 12px/1.4 Inter, ui-sans-serif, system-ui, sans-serif;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.bbbp-ad-slot--desktop-header.bbbp-ad-slot--placeholder {
	width: calc(100% - 32px);
	max-width: 728px;
	min-height: 90px;
}

.bbbp-ad-slot--desktop-sidebar.bbbp-ad-slot--placeholder {
	max-width: 160px;
	min-height: 600px;
}

.bbbp-ad-slot--mobile-article.bbbp-ad-slot--placeholder {
	max-width: 300px;
	min-height: 250px;
}

.bbbp-ad-slot--mobile-directory.bbbp-ad-slot--placeholder {
	max-width: 300px;
	min-height: 250px;
}

.bbbp-ad-slot--desktop-bottom.bbbp-ad-slot--placeholder {
	max-width: 728px;
	min-height: 90px;
}

.bbbp-ad-slot--mobile-bottom.bbbp-ad-slot--placeholder {
	max-width: 300px;
	min-height: 250px;
}

.bbbp-ad-slot--collapsed,
.widget.bbbp-ad-widget--collapsed {
	display: none !important;
}

.bbbp-ad-bottom-band:empty {
	display: none;
}

.widget:has(> .bbbp-ad-slot--desktop-sidebar) {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

@media (min-width: 1024px) {
	body.bbbp-sidebar-column-collapsed #secondary,
	#secondary.bbbp-sidebar-column--collapsed {
		display: none !important;
	}

	body.bbbp-sidebar-column-collapsed #primary {
		width: 100% !important;
		max-width: 100% !important;
		padding-right: 0 !important;
		border-right: 0 !important;
	}

	body.bbbp-sidebar-column-collapsed .site-content > .ast-container {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* Keep the managed 160x600 unit available during long desktop reads without
 * covering content. The column is marked only when the ad is its sole visible
 * widget, and short viewports retain normal in-flow behavior. */
@media (min-width: 1024px) and (min-height: 720px) {
	#secondary.bbbp-sidebar-column--sticky-ad {
		position: sticky;
		top: 80px;
		align-self: flex-start;
		z-index: 1;
	}

	body.admin-bar #secondary.bbbp-sidebar-column--sticky-ad {
		top: 112px;
	}
}

@media (max-width: 767px) {
	.bbbp-ad-slot--desktop {
		display: none !important;
	}

	.bbbp-ad-bottom-band {
		padding-top: 22px;
		padding-bottom: 24px;
	}

	.bbbp-ad-bottom-band:has(> .bbbp-ad-slot--mobile-bottom.bbbp-ad-slot--collapsed) {
		display: none;
	}
}

@media (min-width: 768px) {
	.bbbp-ad-slot--mobile {
		display: none !important;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	.bbbp-ad-slot--desktop {
		display: none !important;
	}

	.bbbp-ad-bottom-band {
		display: none !important;
	}
}

@media (min-width: 1024px) {
	.bbbp-ad-bottom-band:has(> .bbbp-ad-slot--desktop-bottom.bbbp-ad-slot--collapsed) {
		display: none;
	}
}
