/* ============================================================
   RCN Loader — modern slim top bar + nuke legacy Motors overlays
   ============================================================ */

/* ===== Aggressively hide every Motors / WP fullscreen overlay ===== */
.preloader,
.stm-pre-loader,
.stm-preloader,
.stm-loader-page,
.stm-loader-overlay,
.stm-spinner-page,
.stm-loader,
#stm-loader,
.stm-page-loader,
.stm-fullscreen-loader,
.stm-loader-wrapper,
.stm-overlay-loading,
.stm-listing-loader,
.stm-preloader-row,
.lOffer-loader,
.lOffer-preloader,
.stm-loader-row,
.theme-spinner,
.spinner-page,
html body > .preloader,
html body > .stm-pre-loader {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	height: 0 !important;
	width: 0 !important;
}

/* Repeat with body.rcn-theme prefix for extra specificity */
body.rcn-theme .preloader,
body.rcn-theme .stm-pre-loader,
body.rcn-theme .stm-preloader,
body.rcn-theme .stm-loader-page,
body.rcn-theme .stm-loader-overlay,
body.rcn-theme .stm-spinner-page,
body.rcn-theme .stm-loader,
body.rcn-theme #stm-loader,
body.rcn-theme .stm-page-loader,
body.rcn-theme .stm-fullscreen-loader,
body.rcn-theme .stm-loader-wrapper,
body.rcn-theme .stm-overlay-loading,
body.rcn-theme #stm-overlay.is-active {
	display: none !important;
	visibility: hidden !important;
}

/* stm-overlay (modal backdrop) — kept but lightened */
body.rcn-theme #stm-overlay {
	background: rgba(15, 23, 42, .55) !important;
	backdrop-filter: blur(4px);
}

/* ===== Top progress bar — thin red sweep ===== */
.rcn-progress {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 2.5px;
	z-index: 99998;
	pointer-events: none;
	opacity: 0;
	transition: opacity .2s ease-out;
	background: rgba(220, 38, 38, .08);
}
.rcn-progress.is-on { opacity: 1; }

.rcn-progress__bar {
	position: relative;
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, #dc2626 0%, #ef4444 60%, #f87171 100%);
	box-shadow: 0 0 10px rgba(220, 38, 38, .65), 0 0 24px rgba(220, 38, 38, .35);
	transition: width .4s cubic-bezier(.4, 0, .2, 1);
	border-radius: 0 2px 2px 0;
}
/* Brighter glow at the leading edge */
.rcn-progress__bar::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 80px;
	height: 100%;
	background: linear-gradient(90deg, transparent, #fee2e2);
	opacity: .9;
	filter: blur(3px);
	transform: translateX(50%);
}

/* ===== Center pill spinner — used for major async ops ===== */
.rcn-spinner-corner {
	position: fixed;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%);
	background: rgba(15, 23, 42, .95);
	color: #fff;
	border-radius: 999px;
	padding: 10px 18px 10px 14px;
	display: none;
	align-items: center;
	gap: 10px;
	z-index: 99997;
	box-shadow: 0 12px 32px rgba(0, 0, 0, .35), 0 0 0 1px rgba(255, 255, 255, .06) inset;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .01em;
	backdrop-filter: blur(8px);
	animation: rcn-pop-up .25s cubic-bezier(.34, 1.56, .64, 1);
}
.rcn-spinner-corner.is-on { display: inline-flex; }
@keyframes rcn-pop-up {
	from { opacity: 0; transform: translate(-50%, 12px) scale(.94); }
	to   { opacity: 1; transform: translate(-50%, 0) scale(1); }
}
.rcn-spinner-corner__dot {
	width: 16px; height: 16px;
	border: 2.5px solid rgba(255, 255, 255, .2);
	border-top-color: #fff;
	border-right-color: #fff;
	border-radius: 50%;
	animation: rcn-spin .8s cubic-bezier(.4, 0, .2, 1) infinite;
}
@keyframes rcn-spin { to { transform: rotate(360deg); } }

/* ===== Skeleton placeholder — refined gradient ===== */
.rcn-skeleton {
	background: linear-gradient(90deg, #f1f5f9 0%, #e2e8f0 50%, #f1f5f9 100%);
	background-size: 200% 100%;
	animation: rcn-skeleton-pulse 1.4s linear infinite;
	border-radius: 8px;
}
@keyframes rcn-skeleton-pulse {
	0%   { background-position: 100% 0; }
	100% { background-position: -100% 0; }
}

/* ===== Inline button loading state ===== */
.rcn-btn.is-loading {
	position: relative;
	color: transparent !important;
	pointer-events: none;
}
.rcn-btn.is-loading::after {
	content: "";
	position: absolute;
	top: 50%; left: 50%;
	width: 16px; height: 16px;
	margin: -8px 0 0 -8px;
	border: 2.5px solid rgba(255, 255, 255, .25);
	border-top-color: #fff;
	border-radius: 50%;
	animation: rcn-spin .7s linear infinite;
}
.rcn-btn-outline.is-loading::after,
.rcn-btn-ghost.is-loading::after {
	border-color: rgba(220, 38, 38, .25);
	border-top-color: #dc2626;
}
