/* Ads Box WP — public (frontend) styles */

.abwp-ad {
	display: block;
	max-width: 100%;
	line-height: 0;
}

.abwp-ad > * {
	line-height: normal;
}

/* Alignment presets */
.abwp-align-left    { margin: 10px 10px 10px 0; text-align: left; }
.abwp-align-right   { margin: 10px 0 10px 10px; text-align: right; }
.abwp-align-center  { margin: 10px auto; text-align: center; }
.abwp-align-float-left  { float: left;  margin: 8px 14px 8px 0; }
.abwp-align-float-right { float: right; margin: 8px 0 8px 14px; }
.abwp-align-no-wrap { overflow: hidden; }

/* Sticky positions */
.abwp-align-sticky-top-left,
.abwp-align-sticky-top-right,
.abwp-align-sticky-bottom-left,
.abwp-align-sticky-bottom-right,
.abwp-align-sticky-left,
.abwp-align-sticky-right {
	position: fixed;
	z-index: 99998;
}
.abwp-align-sticky-top-left     { top: 0; left: 0; }
.abwp-align-sticky-top-right    { top: 0; right: 0; }
.abwp-align-sticky-bottom-left  { bottom: 0; left: 0; }
.abwp-align-sticky-bottom-right { bottom: 0; right: 0; }
.abwp-align-sticky-left  { top: 50%; left: 0; transform: translateY(-50%); }
.abwp-align-sticky-right { top: 50%; right: 0; transform: translateY(-50%); }

/* Lazy loading placeholder */
.abwp-lazy:not(.is-loaded) {
	min-height: 50px;
	background: transparent;
}

/* Sticky close button */
.abwp-ad.has-close { position: relative; }
.abwp-ad .abwp-close {
	position: absolute;
	top: 2px; right: 2px;
	width: 22px; height: 22px;
	border: 0;
	background: rgba(0,0,0,0.55);
	color: #fff;
	font-size: 14px;
	line-height: 22px;
	text-align: center;
	border-radius: 50%;
	cursor: pointer;
	padding: 0;
	z-index: 1;
}
.abwp-ad .abwp-close:hover { background: rgba(0,0,0,0.8); }

/* Sticky entrance animations */
@keyframes abwp-slide-up   { from { transform: translateY(100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes abwp-slide-down { from { transform: translateY(-100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes abwp-fade-in    { from { opacity: 0; } to { opacity: 1; } }
@keyframes abwp-zoom-in    { from { transform: scale(0.6); opacity: 0; } to { transform: scale(1); opacity: 1; } }

.abwp-align-sticky-bottom-left,
.abwp-align-sticky-bottom-right { animation: abwp-slide-up 0.35s ease-out both; }
.abwp-align-sticky-top-left,
.abwp-align-sticky-top-right    { animation: abwp-slide-down 0.35s ease-out both; }
.abwp-align-sticky-left,
.abwp-align-sticky-right        { animation: abwp-fade-in 0.3s ease-out both; }

/* Ad-blocker fallback message wrapper */
.abwp-adb-message {
	padding: 14px 18px;
	border: 1px solid #d1d5db;
	border-radius: 4px;
	background: #f9fafb;
	color: #374151;
}

/* Small print hook for "Advertisement" labels inside blocks */
.abwp-ad .abwp-label {
	display: block;
	margin-bottom: 4px;
	color: #9ca3af;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
