﻿/**
 * Kanaiya Elementor WooBeWoo Bridge — Minimal Frontend CSS
 *
 * Purpose: loading overlay while the Loop Grid is refreshing.
 * We deliberately keep this file minimal to avoid any visual interference.
 *
 * @package KanaiyaElementorFilterBridge
 */

/* ──────────────────────────────────────────────
   Loading overlay on the Loop Grid container
   ────────────────────────────────────────────── */

.kefb-loading {
	position: relative;
	pointer-events: none;
	user-select: none;
}

.kefb-loading::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba( 255, 255, 255, 0.65 );
	backdrop-filter: blur( 2px );
	z-index: 9;
	border-radius: inherit;
	animation: kefb-pulse 1.4s ease-in-out infinite;
}

/* Spinning loader indicator */
.kefb-loading::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 10;
	width: 36px;
	height: 36px;
	margin: -18px 0 0 -18px;
	border: 3px solid rgba( 0, 0, 0, 0.1 );
	border-top-color: #2271b1;
	border-radius: 50%;
	animation: kefb-spin 0.75s linear infinite;
}

@keyframes kefb-spin {
	to { transform: rotate( 360deg ); }
}

@keyframes kefb-pulse {
	0%, 100% { opacity: 1; }
	50%       { opacity: 0.85; }
}

/* ──────────────────────────────────────────────
   "No products" message
   ────────────────────────────────────────────── */

.kefb-no-products {
	width: 100%;
	padding: 2em 1em;
	text-align: center;
	color: #6c6c6c;
	font-size: 1rem;
}
