.flat-slider {
	padding: 0;
	position: relative;
	width: 100%;
	overflow: hidden;
	padding: 20px 20px 30px; /* Increased side padding to prevent handles from touching edges */
	direction: var(--dir, ltr);
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.flat-slider .ui-corner-all { border-radius: 0px; }

.flat-slider .ui-widget-content a { color: #222222; }

.flat-slider .ui-widget-content {
	color: #e91e63;
	background: #f0f0f0;
	background-image: none;
	border: none;
	height: 8px;
	border-radius: 4px;
	box-shadow: inset 0 1px 3px rgba(0,0,0,0.1);
}

.flat-slider .ui-widget-header {
  background: linear-gradient(90deg, #e91e63, #ff4081);
  border: none;
  background-image: none;
  border-radius: 4px;
  height: 8px;
}

.flat-slider .ui-state-hover,
.flat-slider .ui-widget-content .ui-state-hover,
.flat-slider .ui-widget-header .ui-state-hover,
.flat-slider .ui-state-focus,
 .flat-slider .ui-widget-content .ui-state-focus,
.flat-slider .ui-widget-header .ui-state-focus { background-image: none; }

.flat-slider .ui-slider {
  position: relative;
  text-align: left;
}

.flat-slider .ui-slider-horizontal {
	height: 4px;
	width: 96%;
}

.flat-slider .ui-slider-handle {
	cursor: pointer;
	position: absolute;
	z-index: 2;
	width: 24px;
	height: 24px;
	background: #fff;
	border: 3px solid #e91e63;
	border-radius: 50%;
	top: 50%;
	transform: translateY(-50%);
	box-shadow: 0 3px 10px rgba(233, 30, 99, 0.4);
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	outline: none;
	margin-left: -12px; /* Center the handle on the slider */
}

.flat-slider .ui-slider-handle:focus,
.flat-slider .ui-slider-handle:hover {
	outline: none;
	transform: translateY(-50%) scale(1.3);
	box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}

.flat-slider .min, .flat-slider .max, .flat-slider .min_value, .flat-slider .max_value, .flat-slider .value {
	margin-top: 18px;
	font-size: 14px;
	white-space: nowrap;
	transition: all 0.3s ease;
	font-weight: 500;
	color: #555;
}

.flat-slider .min, .flat-slider .max {
	font-size: 0.8rem;
	color: #fff;
	background: rgba(0, 0, 0, 0.8);
	padding: 3px 8px;
	border-radius: 4px;
	font-weight: 600;
}

.flat-slider .min { 
	float: var(--float-start, left);
}

.flat-slider .max { 
	float: var(--float-end, right);
}

/* RTL Support */
[dir="rtl"] .flat-slider {
	--dir: rtl;
	--float-start: right;
	--float-end: left;
}

[dir="rtl"] .ui-slider-horizontal .ui-slider-handle {
	margin-right: -11px;
	margin-left: 0;
}

.flat-slider .min_value,
.flat-slider .max_value,
.flat-slider .value { 
	position: absolute; 
	background: rgba(255, 255, 255, 0.9);
	padding: 2px 6px;
	border-radius: 3px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.2);
	font-weight: 600;
	color: #333;
}

.flat-slider::after { clear: both; }

.price_ranger {
	padding: 15px; /* Add padding around the entire price ranger section */
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
	margin-bottom: 20px;
}

.price_ranger button {
	padding: 12px 24px;
	text-transform: capitalize;
	border: none;
	margin-top: 15px;
	background: #e91e63;
	color: white;
	border-radius: 30px;
	cursor: pointer;
	transition: all 0.3s ease;
	font-weight: 500;
	font-size: 14px;
	box-shadow: 0 2px 5px rgba(233, 30, 99, 0.2);
}

.price_ranger button:hover {
	background: #c2185b;
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(233, 30, 99, 0.3);
}

.price_ranger button.reset {
	background: #6c757d;
}

.price_ranger button.reset:hover {
	background: #5a6268;
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(108, 117, 125, 0.3);
}

/* Better touch targets for mobile */
@media (max-width: 768px) {
	.flat-slider .ui-slider-handle {
		width: 32px;
		height: 32px;
		margin-left: -16px;
		border-width: 4px;
	}
	
	.flat-slider {
		padding: 25px 15px 40px;
	}
	
	.price_ranger button {
		width: 100%;
		margin-bottom: 10px;
		padding: 14px 24px;
		font-size: 16px;
	}
	
	.price_ranger {
		padding: 20px;
		margin-bottom: 25px;
	}
	
	.flat-slider .min, .flat-slider .max {
		font-size: 14px;
	}
	
	.flat-slider .min_value, .flat-slider .max_value, .flat-slider .value {
		font-size: 14px;
	}
	
	/* Ensure slider is visible on all devices */
	.flat-slider .ui-widget-content {
		height: 8px;
	}
	
	.flat-slider .ui-widget-header {
		height: 8px;
	}
}