/**
Theme Name: Astra Child
Author: MIG Innovations
Author URI: http://miginnovations.com/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* Body and Background */
/* body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  background-image: 
    url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?w=1920'),
    url('https://images.unsplash.com/photo-1441974231531-c6227db76b6e?w=1920');
  background-size: cover;
  background-position: center;
  background-blend-mode: overlay;
  position: relative;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
} */

body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 0;
}

/* Form Container */
.zjfilter-container {
    position: relative;
    z-index: 1;
    max-width: 800px;
    margin: 50px auto;
    padding: 40px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.zjfilter-group-row div {
    flex: 1;
}

.zj-location-dropdown {
    position: relative;
    width: 220px;
}

.features-action {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

.features-action button {
    border-radius: 5px;
    padding: 5px 10px;
    background: #3792c9;
	font-size: 12px;
}

button#DoneBtn {
    background: #282828;
}

.zj-location-selected {
    background: #fff;
    padding: 12px 16px;
    border-radius: 40px;
    border: 1px solid #cfd2d8;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 14px;
    color: #333;
}

.zj-location-selected:hover {
    border-color: #007bff;
    box-shadow: 0 2px 8px rgba(0, 123, 255, 0.1);
}

/* Scroll Area */
.zj-location-list {
    position: absolute;
    top: 52px;
    left: 0;
    width: 100%;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #d7d9de;
    max-height: 220px;
    overflow-y: auto;
    padding: 6px 0;
    display: none;
    z-index: 9999;
    margin: 0;
}

/* Scrollbar */
.zj-location-list::-webkit-scrollbar {
    width: 8px;
}

.zj-location-list::-webkit-scrollbar-thumb {
    background: #d0d4da;
    border-radius: 20px;
}

.selected-filters {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    padding-top: 20px;
    justify-content: center;
}

.feature-item {
    background: #35a2d2;
    color: #fff;
    padding: 5px 20px;
    border-radius: 25px;
    font-family: 'Poppins';
    font-size: 13px;
}

/* Active filter chips — make the pills overlap-proof on EVERY page, WITHOUT
 * depending on the parent's flex actually applying (on the Elementor
 * search-result page a container CSS strips the flex, so the inline <span>
 * pills wrap and overlap — their vertical padding doesn't push the line box).
 *
 * Fix that survives even if flex is overridden:
 *   - .feature-item becomes inline-flex: an atomic inline box that respects its
 *     own padding, so rows can never collapse onto each other.
 *   - spacing moves from the parent's `gap` to a 5px margin on each pill, so it
 *     also works when there is no flex context.
 *
 * The resales page is visually unchanged: flex/grid items auto-blockify, so
 * inline-flex stays a normal flex item there, and gap:0 + 5px margins reproduce
 * the exact 10px spacing the old gap gave. */
#selectedFilters.selected-filters {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    justify-content: center;
    text-align: center;
}

#selectedFilters .feature-item {
    display: inline-flex !important;
    align-items: center;
    margin: 5px !important;
    vertical-align: top;
}

.zj-location-list li {
    list-style: none;
    padding: 9px 16px;
    cursor: pointer;
}

.zj-location-list li:hover {
    background: #eef3ff;
}

.zjfilter-group {
    display: flex;
    gap: 15px;
    flex: 1;
}
.property-listing-content .property-detail-item:first-child svg {
	    width: 16px;
    height: 15px;
}

.property-listing-content .property-detail-item:nth-child(2) svg {
        width: 14px;
    height: 15px;
}

.zjfilter-box {
    position: relative;
}

.zj-dropdown {
    position: relative;
}

.zj-select {
    background: #fff;
    padding: 12px 16px;
    border-radius: 40px;
    border: none !important;
    border: 1px solid #cfd2d8;
    cursor: pointer;
    min-width: 150px;
    transition: all 0.2s ease;
    font-size: 14px;
    color: #333;
}

.zj-select:hover {
    border-color: #007bff;
    box-shadow: 0 2px 8px rgba(0, 123, 255, 0.1);
}

/* .zj-menu {
    position: absolute;
    top: 52px;
    left: 0;
    width: 100%;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #d7d9de;
    max-height: 300px;
    overflow-y: auto;
    padding: 6px 0;
    z-index: 9999;
} */

.zj-dropdown.open .zj-menu {
    display: block;
}

.zj-actions {
    display: flex;
    gap: 10px;
    padding: 10px 16px;
    border-bottom: 1px solid #e0e0e0;
}

.zj-actions button {
    padding: 6px 12px;
    border: 1px solid #cfd2d8;
    background: #fff;
    border-radius: 6px;
    cursor: pointer;
    font-size: 12px;
}

.zj-actions button:hover {
    background: #f5f5f5;
}

.zj-search {
    width: 100%;
    padding: 10px 16px;
    border: none;
    border-bottom: 1px solid #e0e0e0;
    outline: none;
}

.zj-list {
    padding: 6px 0;
}

.zj-list label {
    display: block;
    padding: 9px 16px;
    cursor: pointer;
}

.zj-list label:hover {
    background: #eef3ff;
}

.zj-list input[type="checkbox"] {
    margin-right: 8px;
}

.property-listing-content svg {
    width: 12px;
}



.zjselect {
    width: 100%;
    padding: 8px 16px;
    border-radius: 40px;
    border: 1px solid #cfd2d8;
    background: #fff;
    cursor: pointer;
    min-width: 150px;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
    font-size: 14px;
    color: #333;
    transition: all 0.2s ease;
}

.zjselect:hover {
    border-color: #007bff;
    box-shadow: 0 2px 8px rgba(0, 123, 255, 0.1);
}

.zjselect:focus {
    outline: none;
    border-color: #007bff;
    box-shadow: 0 2px 8px rgba(0, 123, 255, 0.2);
}

.dev_feature {
    position: absolute;
    top: 0;
    display: flex;
    width: 100%;
    justify-content: space-between;
    margin: 0 auto;
    left: 0%;
    top: 6%;
}

.new-development-card .dev_feature .rental-badge {
    color: white;
    background-color: transparent !important;
    padding: 4px 20px 4px 20px !important;
    background-image: linear-gradient(180deg, #3581B4 0%, #35AAD8 100%) !important;
    border-radius: 50px 50px 50px 50px;
    text-align: center;
    font-size: 12px;
}


.favorite-icon {
    position: absolute;
    top: 5%;
    z-index: 0 !important;
    right: 4%;
    background-color: #f2f2f2;
    width: 40px;
    height: 40px;
    line-height: 45px;
    border-radius: 50px 50px 50px 50px;
    text-align:center;
	display:flex;
	justify-content: center;
	align-items: center;
}

.favorite-icon svg{
    width:20px;
}

.new-development-card .dev_feature .favorite-icon{

    font-family: "Poppins", Sans-serif;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.7px;
    color: #000000;
    background-color: #FFFFFFE0;
    padding: 4px 20px 4px 20px;
    border-radius: 50px 50px 50px 50px;
    text-align: center;
    width: fit-content;
    height: 30px;
    line-height: 26px;
}


.new-development-card ul.property-types-list {
    padding: 0px;
    flex-direction: row !important;
    display: flex !important;
    margin-top: 0;
    flex-wrap: wrap;
}



.zjbtn-group {
    display: flex;
    flex-direction: column;
    gap: 15px;
    min-width: 200px;
}

.zjbtn {
    padding: 12px 24px;
    border-radius: 40px;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
}

.zjbtn-features {
    background: #1a1a2e;
    border: none;
    color: #fff;
    transition: all 0.3s ease;
}

.zjbtn-features:hover {
    background: #16213e;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.zjbtn-search {
    background: #007bff;
    color: #fff;
    transition: all 0.3s ease;
}

.zjbtn-search:hover {
    background: #0056b3;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.4);
}

/* Hidden input for location */
.zj-location-input {
    display: none;
}

/* Hidden input for sub-area checkboxes */
.zj-subarea-input {
    display: none;
}

/* Properties Results Container */
.properties-results-container {
    position: relative;
    z-index: 1;
    max-width: 1400px;
    margin: 30px auto;
    padding: 30px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.results-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid #e0e0e0;
}

.results-header h2 {
    margin: 0;
    color: #333;
    font-size: 28px;
}

.close-results-btn {
    background: #ff4444;
    color: white;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 24px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.close-results-btn:hover {
    background: #cc0000;
    transform: rotate(90deg);
}

.properties-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 30px;
    margin-top: 20px;
}

.property-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    cursor: pointer;
}

.property-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.property-image {
    position: relative;
    width: 100%;
    height: 250px;
    overflow: hidden;
}

.property-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.property-card:hover .property-image img {
    transform: scale(1.05);
}

.property-status {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(0, 123, 255, 0.9);
    color: white;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}


.property-types-list {
    font-size: 14px;
    color: #666;
    margin-bottom: 10px;
    line-height: 1.6;
    font-weight: 400;
}


.property-content {
    padding: 20px;
}

.property-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 15px;
}

.property-title {
    margin: 0;
    font-size: 18px;
    color: #333;
    font-weight: 600;
}

.property-price {
    font-size: 20px;
    font-weight: 700;
    color: #007bff;
}

.property-location {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #666;
    font-size: 14px;
    margin-bottom: 15px;
}

.property-details {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e0e0e0;
}

.detail-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #555;
}

.detail-icon {
    font-size: 16px;
}

.property-features-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 15px;
}

.feature-badge {
    background: #eef3ff;
    color: #007bff;
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}

.property-description {
    color: #666;
    font-size: 14px;
    line-height: 1.6;
}

.loading-indicator {
    text-align: center;
    padding: 60px 20px;
}

.spinner {
    border: 4px solid #f3f3f3;
    border-top: 4px solid #007bff;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 1s linear infinite;
    margin: 0 auto 20px;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.loading-indicator p {
    color: #666;
    font-size: 16px;
}



.error-message {
    background: #ffebee;
    color: #c62828;
    padding: 20px;
    border-radius: 12px;
    text-align: center;
    font-size: 16px;
    margin: 20px 0;
}

.no-results {
    text-align: center;
    padding: 60px 20px;
    color: #666;
}

.no-results p {
    font-size: 18px;
    margin: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
    .zjfilter-container {
        flex-direction: column;
        padding: 30px 20px;
        margin: 20px;
    }

    .zjbtn-group {
        width: 100%;
    }

    .zjbtn {
        width: 100%;
        justify-content: center;
    }

    .properties-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .properties-results-container {
        padding: 20px;
        margin: 20px;
    }
}


/* Property listing */



/* Property Listings Styles - Modern Card Design */

.property-listings-wrapper {
    position: relative;
    width: 100%;
    margin: 40px 0;
}

.property-listings-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 10px;
}

.property-listings-grid {
    display: grid;
    grid-template-columns:1fr;
    gap: 30px;
    margin-top: 20px;
}

/* Property Listing Card */
.property-listing-card {
       background: #ffffff;
    border-radius: 20px;
    overflow: hidden;
       box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.26);
    transition: all 0.3s ease;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Property Image */
.property-listing-image {
    position: relative;
    width: 100%;
    height: 280px;
    overflow: hidden;
    background: #f5f5f5;
}

.property-listing-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.property-listing-card:hover .property-listing-image img {
    transform: scale(1.05);
}

/* Property Content */
.property-listing-content {
    padding: 10px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}


.listing_tag {
    left: 5%;
    position: absolute;
    top: 6%;
    /* z-index: 99; */
    font-family: "Poppins", Sans-serif;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.7px;
    color: #000000;
    background-color: #FFFFFFDE;
    padding: 4px 20px 4px 20px;
    border-radius: 50px 50px 50px 50px;
    text-align: center;
	text-transform: capitalize;
}

/* Property Title */
.property-listing-title {
   margin: 0 0 12px 0;
    font-family: "Poppins", Sans-serif;
    font-size: 30px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1.3;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

/* Property Location */
.property-listing-location {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #666;
    font-size: 14px;
    margin-bottom: 16px;
    font-weight: 400;
}

.location-icon {
    font-size: 14px;
    display: inline-block;
}

/* Divider */
.property-listing-divider {
    height: 1px;
    background: #e0e0e0;
    margin: 0 0 16px 0;
}

/* Property Details */
.property-listing-details {
        border-bottom: 1px solid #0f172b40;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding-bottom: 10px;
    margin-bottom: 6px;
}

.property-detail-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #555;
}

.detail-icon {
    font-size: 16px;
    display: inline-block;
}

.detail-text {
    font-weight: 400;
    color: #555;
	    position: relative;
    top: 2px;
}

/* Property Price */
.property-listing-price {
    font-size: 22px;
    font-weight: 400;
    color: #1a1a1a;
    margin-bottom: 8px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

/* Property Reference */
.property-listing-reference {
    font-size: 13px;
    color: #999;
    margin-bottom: 20px;
    font-weight: 400;
}

a.property-listing-button svg {
    color: white !important;
    fill: white !important;
}

/* View Property Button */
/* View Property Button */
.property-listing-button {
    display: inline-block;
    text-decoration: none !important;
    width: 100%;
    text-align: center;
    
    /* 1. FIXED: Explicitly name the properties to animate instead of 'all' */
    transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
    
    /* 2. FIXED: Keeps the 3D lift from flickering in browsers like Chrome/Safari */
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;

    border: none;
    color: white !important;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 123, 255, 0.2);
    font-family: "Poppins", Sans-serif; /* Cleaned up the double font-family declaration */
    font-size: 16px;
    font-weight: 300;
    background-image: linear-gradient(90deg, #3580B3 0%, #35A9D8 100%);
    border-radius: 25px;
    padding: 15px 45px;
    line-height: 18px;
}

.property-listing-button:hover {
    /* 3. FIXED: Instead of fighting the gradient with a solid color, 
       we slightly dim the gradient's brightness or opacity for a sleek hover effect */
    filter: brightness(1.05); 
    
    transform: translate3d(0, -2px, 0);
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
    color: #ffffff;
    text-decoration: none;
}

.button-arrow {
    display: inline-block;
    margin-left: 6px;
    font-size: 16px;
    transition: transform 0.3s ease;
}

.property-listing-button:hover .button-arrow {
    transform: translateX(4px);
}

/* Loading Indicator */
.property-listings-loading {
    text-align: center;
    padding: 60px 20px;
}

.property-listings-loading .spinner {
    border: 4px solid #f3f3f3;
    border-top: 4px solid #007bff;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 1s linear infinite;
    margin: 0 auto 20px;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.property-listings-loading p {
    color: #666;
    font-size: 16px;
    margin: 0;
}

/* Error Message */
.property-listings-error {
    text-align: center;
    padding: 40px 20px;
    background: #ffebee;
    color: #c62828;
    border-radius: 12px;
    margin: 20px 0;
}

.property-listings-error p {
    margin: 0;
    font-size: 16px;
}

/* No Properties */
.no-properties {
    text-align: center;
    padding: 60px 20px;
    color: #666;
    grid-column: 1 / -1;
}

.no-properties p {
    font-size: 18px;
    margin: 0;
}



/* Pagination Styles */
.property-listings-pagination {
    margin-top: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 20px 0;
}

.property-pagination {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}

.pagination-btn {
    padding: 10px 20px;
    background: #3498db;
    color: #fff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s;
}

.pagination-btn:hover:not(.disabled) {
    background: #2980b9;
    transform: translateY(-2px);
}

.pagination-btn.disabled {
    background: #ecf0f1;
    color: #95a5a6;
    cursor: not-allowed;
    opacity: 0.6;
}

.pagination-numbers {
    display: flex;
    gap: 5px;
    align-items: center;
}

.pagination-number {
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    background: #fff;
    color: #2c3e50;
    border: 2px solid #ecf0f1;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pagination-number:hover:not(.active) {
    border-color: #3498db;
    color: #3498db;
    transform: translateY(-2px);
}

.pagination-number.active {
    background: #3498db;
    color: #fff;
    border-color: #3498db;
}

.pagination-dots {
    padding: 0 5px;
    color: #7f8c8d;
    font-weight: 600;
}


@media (max-width: 768px) {


    .property-listing-image {
        height: 240px;
    }

    .property-listing-content {
        padding: 20px;
    }

    .property-listing-title {
        font-size: 20px;
    }

    .property-listing-price {
        font-size: 24px;
    }

    .property-listing-details {
        gap: 12px;
    }
	.search-title-all {
		margin-top: -60px !important;
	}
	.search-content h2 {
		margin-top: -60px !important;
	}
	.immo-search-filters {
		 width: 90% !important;
        max-width: 350px !important;
	}
	.search-filter-header {
    	gap: 31px !important;
	}
}

@media (max-width: 480px) {
    .property-listings-wrapper {
        margin: 20px 0;
    }

    .property-listing-image {
        height: 200px;
    }

    .property-listing-title {
        font-size: 18px;
    }

    .property-listing-price {
        font-size: 22px;
    }
}

/* Tablet View - 3 columns */
@media (min-width: 768px) {
    .property-listings-grid {
        grid-template-columns:1fr 1fr;
    }
}

/* Desktop View - 3 columns for 9 properties */
@media (min-width: 1024px) {
    .property-listings-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Homepage featured listings ([property_listings]):
   The Elementor shortcode widget holding this section renders at <100% width in
   mobile landscape (490–767px), so the card shrank with wide left/right gaps —
   an issue specific to the homepage placement, not the theme's listing CSS
   (which is shared with the resale / new-development / rental pages). Forcing the
   widget to full width restores the same single-card layout as the other pages.
   Scoped to this specific Elementor element so nothing else is affected. */
@media (min-width: 490px) and (max-width: 767px) {
    .elementor-element.elementor-element-80b5794.elementor-widget.elementor-widget-shortcode {
        width: 100%;
    }
}
.trp-shortcode-switcher .trp-switcher-dropdown-list {
    background: #35a9d8 !important;
    padding: 5px;
	border-radius: 5px;
}
