.elementor-64 .elementor-element.elementor-element-1705f1c{--display:flex;--min-height:280px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-64 .elementor-element.elementor-element-10380c2 .elementor-heading-title{font-family:"wfont", Sans-serif;font-size:87px;font-weight:600;text-transform:capitalize;color:var( --e-global-color-secondary );}.elementor-64 .elementor-element.elementor-element-b7a361c{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-64 .elementor-element.elementor-element-d2eb32b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-64 .elementor-element.elementor-element-d2eb32b{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-b7a361c *//* --- MAIN SEARCH LAYOUT --- */
.property-search-layout { display: flex; flex-direction: column; gap: 40px; }
.filter-sidebar { background-color: #f9f9f9; padding: 25px; border-radius: 12px; border: 1px solid #e9e9e9; height: fit-content; }
.listings-content { flex: 1; }
@media (min-width: 992px) {
    .property-search-layout { flex-direction: row; align-items: flex-start; }
    .filter-sidebar { flex: 0 0 320px; position: sticky; top: 30px; }
}

/* --- FILTER FORM STYLES --- */
.property-filters-form h3 { margin-top: 0; margin-bottom: 25px; font-size: 1.5em; color: #2c3e50; }
.filter-item { margin-bottom: 20px; }
.filter-item label { display: block; font-weight: 600; margin-bottom: 8px; font-size: 14px; color: #34495e; }
.filter-item input[type="text"], .filter-item input[type="number"], .filter-item select { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 6px; font-size: 16px; box-sizing: border-box; background-color: #fff; }

/* Custom Dropdown Styles */
.custom-select-wrapper { position: relative; }
.custom-select-wrapper select { -webkit-appearance: none; -moz-appearance: none; appearance: none; padding-right: 40px; }
.custom-select-wrapper::after { content: '▼'; font-size: 12px; color: #555; position: absolute; right: 15px; top: 50%; transform: translateY(-50%); pointer-events: none; }

/* Search Button */
.filter-submit-button { width: 100%; padding: 15px; background-color: #3498db; color: white; border: none; border-radius: 6px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background-color 0.2s; margin-top: 10px; }
.filter-submit-button:hover { background-color: #2980b9; }

/* --- PROPERTY GRID & CARD DESIGN --- */
#property-listings-container { position: relative; min-height: 400px; }
.property-grid-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; }
.property-card-link { display: block; text-decoration: none; color: inherit; border-radius: 16px; overflow: hidden; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); transition: all 0.2s ease-in-out; }
.property-card-link:hover { transform: translateY(-5px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12); }
.property-card { background-color: #ffffff; display: flex; flex-direction: column; height: 100%; }
.card-image-container { height: 220px; background-size: cover; background-position: center center; }
.card-content { padding: 20px; display: flex; flex-direction: column; flex-grow: 1; }
.card-categories { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.card-category-item { background-color: #ecf0f1; color: #7f8c8d; padding: 5px 12px; border-radius: 15px; font-size: 12px; font-weight: 500; }
.card-title { font-family: sans-serif; font-size: 1.2em; font-weight: 600; color: #222; margin: 0 0 15px 0; line-height: 1.4; flex-grow: 1; }
.card-price { font-family: sans-serif; font-size: 1.4em; font-weight: bold; color: #111; text-align: right; margin: 10px 0 0 0; }

/* --- AJAX LOADING EFFECT --- */
#property-listings-container.loading::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(255, 255, 255, 0.8); z-index: 10; }
#property-listings-container.loading::after { content: 'Loading...'; position: absolute; top: 100px; left: 50%; transform: translateX(-50%); font-size: 1.2em; color: #333; z-index: 11; }
.no-properties-found { text-align: center; padding: 50px; font-size: 1.2em; background-color: #fff; border: 1px dashed #ccc; border-radius: 8px; }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'wfont';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://frenchdreamcastles.com/wp-content/uploads/2025/10/file.woff2') format('woff2');
}
/* End Custom Fonts CSS */