/* Google AdSense Placements (canaryfans/adsense) */

/* Each ad sits in its own block: centred, never wider than its container
   (no sideways scrolling), with space reserved so the page does not jump
   when the ad loads. */
.cf-ad {
	clear: both;
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 10px auto;
	overflow: hidden;
	text-align: center;
	box-sizing: border-box;
}

.cf-ad-label {
	margin-bottom: 3px;
	color: #888888;
	font-size: 10px;
	line-height: 1.2;
}

.cf-ad-box {
	min-height: 90px;
	margin: 0;
}

.cf-ad-post {
	min-height: 250px;
	padding: 6px 0;
	border-top: 1px solid #e5d092;
	border-bottom: 1px solid #e5d092;
}

.cf-ad-feed {
	min-height: 100px;
	margin: 0;
	padding: 4px 0;
}

li.row.cf-ad-row {
	padding: 0;
}

.cf-ad-footer {
	min-height: 90px;
}

.cf-ad-forumlist {
	min-height: 90px;
	margin: 4px auto 10px;
}

/* Desktop: reserved space matches the recommended sizes
   (728x90 banners, 336x280 rectangles next to posts) */
.cf-ad-post {
	min-height: 280px;
}

/* Phones (prosilver_mobile): 320x100 box, 300x250 rectangles elsewhere */
@media (max-width: 700px) {
	.cf-ad-box {
		min-height: 100px;
	}

	.cf-ad-post,
	.cf-ad-forumlist,
	.cf-ad-footer {
		min-height: 250px;
	}
}

/* "unfilled" is Google's final answer: hide the ad and its reserved space
   (Google's documented approach) */
ins.adsbygoogle[data-ad-status="unfilled"] {
	display: none !important;
}

.cf-ad:has(ins.adsbygoogle[data-ad-status="unfilled"]),
li.cf-ad-row:has(ins.adsbygoogle[data-ad-status="unfilled"]),
.cf-honor-cell:has(ins.adsbygoogle[data-ad-status="unfilled"]),
.cf-m-ads:has(ins.adsbygoogle[data-ad-status="unfilled"]) {
	display: none;
}

/* "unfill-optimized" may be retried by AdSense later on the same page view
   (e.g. on scroll). Never use display:none here: a unit with no width makes
   the retry fail ("No slot size for availableWidth=0"). Collapse the height
   only, keeping the full width so Google can still measure and fill it. */
.cf-ad:has(ins.adsbygoogle[data-ad-status="unfill-optimized"]),
li.cf-ad-row:has(ins.adsbygoogle[data-ad-status="unfill-optimized"]),
.cf-honor-cell:has(ins.adsbygoogle[data-ad-status="unfill-optimized"]) {
	min-height: 0;
	height: 0;
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
	border-top-width: 0;
	border-bottom-width: 0;
	overflow: hidden;
}

.cf-ad:has(ins.adsbygoogle[data-ad-status="unfill-optimized"]) .cf-ad-label {
	display: none;
}

.cf-m-ads:has(ins.adsbygoogle[data-ad-status="unfill-optimized"]) .cf-m-ads-heading {
	display: none;
}

.cf-m-ads:has(ins.adsbygoogle[data-ad-status="unfill-optimized"]) .cf-m-ads-cell {
	min-height: 0;
	padding: 0;
	border: 0;
}
