/* ==========================================================================
   SLB Ad Wall — Styles
   ========================================================================== */

/* Color the full section area containing the ad wall */
.slb-section:has(.slb-ad-wall),
.slb-page-content:has(.slb-ad-wall) {
	background: #F0952D !important;
	padding: 0 !important;
	margin: 0 !important;
}

.slb-section:has(.slb-ad-wall) .slb-container {
	max-width: 100% !important;
	padding: 0 !important;
}

.slb-section:has(.slb-ad-wall) article {
	padding: 0 !important;
	margin: 0 !important;
}

.slb-section:has(.slb-ad-wall) header {
	display: none;
}

/* HERO */
.slb-adwall-hero {
	background: linear-gradient( 135deg, #1E1A14 0%, #2A241A 100% );
	padding: 3rem 1.5rem 2rem;
	text-align: center;
	margin: 0 -9999px;
	padding-left: calc( 9999px + 1.5rem );
	padding-right: calc( 9999px + 1.5rem );
}

.slb-adwall-hero__inner {
	max-width: 820px;
	margin: 0 auto;
}

.slb-adwall-hero__title {
	font-size: clamp( 1.6rem, 4vw, 2.4rem );
	font-weight: 800;
	color: #fff;
	margin: 0 0 0.5rem;
	line-height: 1.2;
}

.slb-adwall-hero__title span { color: #C08A20; }

.slb-adwall-hero__sub {
	color: #c5bfb4;
	font-size: 0.95rem;
	margin: 0 0 1.5rem;
}

/* Stats bar */
.slb-adwall-stats {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
}

.slb-adwall-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.15rem;
}

.slb-adwall-stat__num {
	font-size: 1.6rem;
	font-weight: 800;
	color: #C08A20;
	line-height: 1;
}

.slb-adwall-stat__label {
	font-size: 0.68rem;
	color: #8A8278;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.slb-adwall-hero__cta { margin-top: 0.5rem; }

.slb-adwall-hero__btn {
	display: inline-block;
	padding: 0.6em 1.4em;
	background: #E05A1A;
	color: #fff;
	border-radius: 6px;
	font-weight: 700;
	font-size: 0.9rem;
	text-decoration: none;
	transition: background 0.15s;
}

.slb-adwall-hero__btn:hover { background: #c44e15; color: #fff; }

/* MEMBER SHARE BAR */
.slb-adwall-share {
	background: #F5DEB3;
	border: 1px solid rgba(192,138,32,0.4);
	border-radius: 8px;
	padding: 0.85rem 1rem;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
	font-size: 0.82rem;
	color: var( --slb-ink-dim, #5A5448 );
	margin: 1.25rem 0;
}

.slb-adwall-share__input {
	flex: 1;
	min-width: 200px;
	padding: 0.4em 0.7em;
	border-radius: 5px;
	border: 1px solid rgba(192,138,32,0.4);
	background: #EDD090;
	color: #5A3A00;
	font-size: 0.82rem;
	font-family: monospace;
	cursor: pointer;
}

/* RECRUITMENT PANEL */
.slb-adwall-recruit {
	background: #F5DEB3;
	border: 2px solid var( --slb-gold, #C08A20 );
	border-radius: 10px;
	padding: 1.75rem;
	margin: 1.25rem 0;
}

.slb-adwall-recruit__inner {
	max-width: 740px;
	margin: 0 auto;
	display: flex;
	gap: 1.5rem;
	align-items: flex-start;
}

.slb-adwall-recruit__inner--generic {
	display: block;
	text-align: center;
}

.slb-adwall-recruit__avatar img {
	border-radius: 50%;
	border: 2px solid #C08A20;
}

.slb-adwall-recruit__eyebrow {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #C08A20;
	margin-bottom: 0.4rem;
}

.slb-adwall-recruit__headline {
	font-size: 1.2rem;
	font-weight: 700;
	color: var( --slb-ink, #1E1A14 );
	margin: 0 0 0.6rem;
	line-height: 1.3;
}

.slb-adwall-recruit__body {
	font-size: 0.88rem;
	color: var( --slb-ink-dim, #5A5448 );
	line-height: 1.6;
	margin: 0 0 1rem;
}

.slb-adwall-recruit__points {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	margin-bottom: 1.25rem;
	justify-content: center;
	font-size: 0.85rem;
	color: #C08A20;
}

.slb-adwall-recruit__btn {
	display: inline-block;
	padding: 0.65em 1.5em;
	background: #E05A1A;
	color: #fff;
	border-radius: 6px;
	font-weight: 700;
	font-size: 0.9rem;
	text-decoration: none;
	transition: background 0.15s;
}

.slb-adwall-recruit__btn:hover { background: #c44e15; color: #fff; }

/* ==========================================================================
   AD WALL BODY
   ========================================================================== */

.slb-ad-wall {
	background: #F0952D;
	padding: 1.5rem 0 2rem;
}

/* Section wrapper */
.slb-adwall-section {
	margin-bottom: 2rem;
}

/* Content box — matches outer tan with slightly lighter tint */
.slb-adwall-section__content {
	background: #F5DEB3;
	border: 2px solid #C08A20;
	border-radius: 10px;
	padding: 1.25rem;
}

/* Section title */
.slb-adwall-section__title {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var( --slb-gold, #C08A20 );
	border-bottom: 1px solid rgba(192,138,32,0.2);
	padding-bottom: 0.6rem;
	margin-bottom: 1.1rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.slb-adwall-section__title::before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #C08A20;
	flex-shrink: 0;
}

/* ==========================================================================
   TEXT ADS — 3-column grid
   ========================================================================== */

.slb-adwall-grid--text {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: 0.85rem;
}

@media ( max-width: 720px ) {
	.slb-adwall-grid--text { grid-template-columns: repeat( 2, 1fr ); }
}

@media ( max-width: 480px ) {
	.slb-adwall-grid--text { grid-template-columns: 1fr; }
}

.slb-adwall-text-item {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 0.9rem 1rem;
	background: #26305a;
	border-radius: 8px;
	border: 1px solid rgba(255,255,255,0.06);
	text-decoration: none;
	transition: background 0.15s, border-color 0.15s;
	min-height: 110px;
}

.slb-adwall-text-item:hover {
	background: #2e3a6a;
	border-color: rgba(192,138,32,0.4);
}

.slb-adwall-text-item__title {
	font-size: 0.88rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.3;
}

.slb-adwall-text-item__desc {
	font-size: 0.78rem;
	color: #a8b0cc;
	line-height: 1.5;
	flex: 1;
}

.slb-adwall-text-item__visit {
	font-size: 0.7rem;
	color: #C08A20;
	font-weight: 600;
	margin-top: 0.25rem;
}

/* ==========================================================================
   BANNER ADS — 2 per row, natural 468×60 size, centered
   ========================================================================== */

.slb-adwall-grid--banners {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.slb-adwall-banner-row {
	display: flex;
	justify-content: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.slb-adwall-banner-item {
	display: block;
	line-height: 0;
	flex: 0 0 auto;
}

.slb-adwall-banner-item img {
	display: block;
	width: 468px;
	height: 60px;
	max-width: 100%;
	object-fit: contain;
}

/* ==========================================================================
   BUTTON ADS — 1 row, natural 125×125 size, centered
   ========================================================================== */

.slb-adwall-grid--buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
}

.slb-adwall-button-item {
	display: block;
	line-height: 0;
	flex: 0 0 125px;
}

.slb-adwall-button-item img {
	width: 125px;
	height: 125px;
	object-fit: contain;
	display: block;
}

/* ==========================================================================
   EMPTY STATE
   ========================================================================== */

.slb-adwall-empty {
	text-align: center;
	padding: 3rem;
	color: var( --slb-slate, #8A8278 );
}

.slb-adwall-empty a { color: #C08A20; }

/* ==========================================================================
   CREDIT TOAST
   ========================================================================== */

.slb-adwall-toast {
	position: fixed;
	bottom: 1.5rem;
	right: 1.5rem;
	padding: 0.65rem 1.1rem;
	border-radius: 6px;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 700;
	z-index: 9999;
	opacity: 0;
	transform: translateY( 10px );
	transition: opacity 0.25s, transform 0.25s;
	pointer-events: none;
}

.slb-adwall-toast--visible {
	opacity: 1;
	transform: translateY( 0 );
}
