/* web-ad-banners : tight grid of image-only ad banners (≈ 4:1), no captions.
   Whole banner is the link; hover lifts it and outlines it in the brand color. */

.web-ad-banners .wab-grid { margin:0 -4px; }
.web-ad-banners .wab-col  { padding:0 4px 8px; }

.web-ad-banners .wab-item {
	position:relative;
	display:block;
	height:0;               /* height comes from inline padding-bottom (banner ratio) */
	overflow:hidden;
	background:#1f2329;     /* dark frame — banners are mostly dark, so letterboxing blends in */
	border:1px solid #e5e7eb;
	border-radius:6px;
	transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.web-ad-banners a.wab-item:hover {
	border-color:var(--web-primary);
	transform:translateY(-2px);
	box-shadow:0 6px 16px rgba(0,0,0,.18);
	text-decoration:none;
}

.web-ad-banners .wab-img {
	position:absolute; top:0; left:0;
	width:100%; height:100%;
}
.web-ad-banners .wab-cover .wab-img   { object-fit:cover; }
.web-ad-banners .wab-contain .wab-img { object-fit:contain; }

.web-ad-banners .wab-empty {
	display:flex; align-items:center; justify-content:center;
	width:100%;
	min-height:110px;
	padding:1.5rem 1rem;
	margin-bottom:8px;
	border:2px dashed #d0d5db;
	border-radius:6px;
	color:#868e96;
	font-size:14px;
	text-align:center;
}
