/* Hide horizontal scrollbar */
body {
	overflow-x: hidden;
}
/* Remove default Hello Elementor button border */
[type='button'],
[type='submit'],
button {
    border: 0;
}
/* Remove margin from the last paragraph in Text Editor widgets */
.elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}
/* Remove extra bottom spacing on Image Carousel widgets */
.elementor-widget-image-carousel {
    font-size: 0;
}
/* Add line breaks to Testimonial Carousel, Image Box and CTA widgets */
.elementor-testimonial__text,
.elementor-image-box-description,
.elementor-cta__description {
    white-space: pre-line;
}
/* Fix Elementor Post widget excerpt spacing */
/* https://github.com/elementor/elementor/issues/13869 */
.elementor-widget-posts .elementor-post__excerpt p:not(:last-child) {
    margin-bottom: 0.9em;
}
/* Hide Edit with Elementor submenu from admin bar for non-admins */
body.role-non-admin #wp-admin-bar-elementor_edit_page-default {
    display: none;
}
/* Elementor Flatpickr Overrides */
.flatpickr-current-month {
    padding-top: 0 !important;
}
.flatpickr-current-month input.cur-year {
    padding: 7px !important;
}
.flatpickr-monthDropdown-months {
    display: inline-block !important;
}
.project-filters-wrapper {
	margin-bottom: 30px;
}
.project-filters {
	padding: 20px;
	background: #f5f5f5;
	border-radius: 5px;
	margin-bottom: 20px;
}
.filter-row {
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
	align-items: flex-end;
}
.filter-field {
	flex: 1;
	min-width: 200px;
}
.filter-field label {
	display: block;
	margin-bottom: 5px;
	font-weight: 600;
}
.filter-field select {
	width: 100%;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 3px;
	font-size: 14px;
	background: white;
}
.filter-reset {
	padding: 10px 20px;
	border: none;
	border-radius: 3px;
	cursor: pointer;
	font-size: 14px;
	background: #ddd;
	color: #333;
}
.filter-reset:hover {
	background: #ccc;
}
.filter-loader {
	text-align: center;
	padding: 10px;
	color: #0073aa;
	font-weight: 600;
}
.project-results {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
	gap: 30px;
}
.project-results.loading {
	opacity: 0.5;
	pointer-events: none;
}
.project-item {
	background: white;
	border-radius: 5px;
	overflow: hidden;
	box-shadow: 0 2px 5px rgba(0,0,0,0.1);
	transition: transform 0.3s;
}
.project-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}
.project-image img {
	width: 100%;
	height: 200px;
	object-fit: cover;
}
.project-content {
	padding: 20px;
}
.project-content h3 {
	margin: 0 0 10px 0;
	font-size: 20px;
}
.project-content h3 a {
	text-decoration: none;
	color: #333;
}
.project-content h3 a:hover {
	color: #0073aa;
}
.project-item .no-link {
	cursor: default;
}
.project-meta {
	margin-top: 15px;
	font-size: 13px;
	color: #666;
}
.project-meta span {
	display: block;
	margin-bottom: 5px;
}
.no-results {
	grid-column: 1 / -1;
	text-align: center;
	padding: 40px;
	background: #f5f5f5;
	border-radius: 5px;
	color: #666;
}