/* Scoped ListingGrid bar and modal */
.elementor-widget-rpl-listing-grid .rpl-lg__bar{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-bottom:12px;}
.elementor-widget-rpl-listing-grid .rpl-lg__filterbtn{
	display:inline-flex;
	align-items:center;
	gap:8px;
	background:#f5f5f5;
	color:#111;
	border:1px solid #e5e7eb;
	border-radius:8px;
	padding:8px 12px;
	cursor:pointer;
}
.elementor-widget-rpl-listing-grid .rpl-lg__filterbtn .rpl-lg__ico{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size:16px; /* scaled via Elementor controls */
	line-height:1;
}
.elementor-widget-rpl-listing-grid .rpl-lg__filterbtn .rpl-lg__ico svg{
	width:1em; height:1em; display:block;
}
.elementor-widget-rpl-listing-grid .rpl-lg__sort{display:inline-flex;align-items:center;gap:8px;background:#f5f5f5;border:1px solid #e5e7eb;border-radius:8px;padding:6px 10px;}
.elementor-widget-rpl-listing-grid .rpl-lg__sort-ico{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size:16px; /* scaled via Elementor controls */
	line-height:1;
}
.elementor-widget-rpl-listing-grid .rpl-lg__sort-ico svg{ width:1em; height:1em; display:block; }
.elementor-widget-rpl-listing-grid .rpl-lg__sort select{appearance:none;border:0;background:transparent;color:#111;padding:0;margin:0;outline:none;line-height:1.4;cursor:pointer;}

/* Modal base (reuse rpl-filter styles) */
.elementor-widget-rpl-listing-grid .rpl-filter{position:fixed;inset:0;z-index:9999;}
.elementor-widget-rpl-listing-grid .rpl-filter[hidden]{display:none;}
.elementor-widget-rpl-listing-grid .rpl-filter__backdrop{position:absolute;inset:0;background:rgba(17,17,17,.5);}
.elementor-widget-rpl-listing-grid .rpl-filter__panel{
	position:relative;
	background:#fff;
	color:#111;
	width:min(840px, calc(100% - 32px));
	margin:40px auto;
	border-radius:16px;
	max-height:calc(100vh - 80px);
	overflow:auto;
}
.elementor-widget-rpl-listing-grid .rpl-filter__head{
	display:flex; align-items:center; justify-content:space-between;
	padding:16px 20px; border-bottom:1px solid #eee;
}
.elementor-widget-rpl-listing-grid .rpl-filter__close{
	display:inline-flex; align-items:center; justify-content:center;
	width:32px; height:32px; border-radius:8px; border:0; background:transparent; color:#111;
	cursor:pointer;
}
.elementor-widget-rpl-listing-grid .rpl-filter__close svg{ width:1em; height:1em; display:block; }
.elementor-widget-rpl-listing-grid .rpl-filter__section{ padding:16px 20px; border-bottom:1px solid #f1f1f1; }
.elementor-widget-rpl-listing-grid .rpl-filter__row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.elementor-widget-rpl-listing-grid .rpl-filter__label{ font-weight:600; }
.elementor-widget-rpl-listing-grid .rpl-filter__set{
	display:inline-flex; align-items:center; gap:6px; border:1px solid #e5e7eb; border-radius:8px; padding:6px 10px; background:#f9fafb; color:#111; cursor:pointer;
}
.elementor-widget-rpl-listing-grid .rpl-filter__content{ display:none; }
.elementor-widget-rpl-listing-grid .rpl-filter__content.is-open{ display:block !important; }
.elementor-widget-rpl-listing-grid .rpl-filter__grid{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:10px; }
.elementor-widget-rpl-listing-grid .rpl-chk{ display:flex; align-items:center; gap:8px; }
.elementor-widget-rpl-listing-grid .rpl-filter__range{
	display:grid;
	grid-template-columns: 1fr min-content 1fr;
	align-items:center;
	column-gap:10px;
	row-gap:10px;
}
.elementor-widget-rpl-listing-grid .rpl-filter__dash{ padding:0 4px; }
.elementor-widget-rpl-listing-grid .rpl-filter__range input{
	border:1px solid #e5e7eb;
	border-radius:8px;
	padding:8px 10px;
	width:100%;
	max-width:none;
}
.elementor-widget-rpl-listing-grid .rpl-filter__foot{ position:sticky; bottom:0; background:#fff; padding:12px 20px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #eee; }
.elementor-widget-rpl-listing-grid .rpl-filter__clear{ background:#f3f4f6; color:#111; border:1px solid #e5e7eb; border-radius:8px; padding:8px 12px; }
.elementor-widget-rpl-listing-grid .rpl-filter__submit{ background:#111827; color:#fff; border:0; border-radius:8px; padding:8px 14px; display:inline-flex; align-items:center; gap:8px; }
.elementor-widget-rpl-listing-grid .rpl-filter__submit-ico{ display:inline-flex; align-items:center; justify-content:center; font-size:16px; }
.elementor-widget-rpl-listing-grid .rpl-filter__submit-ico svg{ width:1em; height:1em; display:block; }

@media (max-width: 767px){
	.elementor-widget-rpl-listing-grid .rpl-filter__panel{
		position:fixed; inset:0; margin:0; width:100vw; max-width:none; height:100vh; border-radius:0;
	}
}

/* Loading state on grid */
.elementor-widget-rpl-listing-grid .rpl-grid{ position:relative; }
.elementor-widget-rpl-listing-grid .rpl-grid.is-loading::after{
	content:"";
	position:absolute; inset:0;
	background:rgba(255,255,255,.6);
}
.elementor-widget-rpl-listing-grid .rpl-grid.is-loading::before{
	content:"";
	position:absolute; top:50%; left:50%;
	width:32px; height:32px; margin:-16px 0 0 -16px;
	border:3px solid #e5e7eb; border-top-color:#111827;
	border-radius:50%;
	animation:rpl-lg-spin .8s linear infinite;
}
@keyframes rpl-lg-spin { to { transform: rotate(360deg); } }


