/* Dark Mode styles */
body.dark-mode {
    background-color: #0d0d0d;
    color: #e0e0e0;
}

body.dark-mode #property-search-half-map {
    background-color: #0d0d0d;
    color: #e0e0e0;
}

body.dark-mode #property-search-half-map #geolocation-search-container,
body.dark-mode #property-search-half-map #geolocation-search-form,
body.dark-mode #property-search-half-map .form-field input,
body.dark-mode #property-search-half-map .form-field select,
body.dark-mode #property-search-half-map #beds-baths-dropdown,
body.dark-mode #property-search-half-map .bedroom-btn,
body.dark-mode #property-search-half-map .bathroom-btn,
body.dark-mode #property-search-half-map #show-more-fields-btn {
    background: #1e1e1e;
    color: #e0e0e0;
    border: 1px solid #4a4a4a;
}

body.dark-mode #property-search-half-map .bedroom-btn.active,
body.dark-mode #property-search-half-map .bathroom-btn.active {
    background-color: #353535;
    border-color: #5a5a5a;
    box-shadow: inset 0 2px 4px rgba(255, 255, 255, .1);
}

body.dark-mode #property-search-half-map #beds-baths-options {
    background: #2a2a2a;
    box-shadow: 0 2px 4px rgba(255, 255, 255, .05);
}

body.dark-mode #property-search-half-map #results-section {
    background-color: #1e1e1e;
    box-shadow: -10px 0 15px -5px rgba(255, 255, 255, .1);
}

body.dark-mode #property-search-half-map .result-card {
    background-color: #1e1e1e;
    color: #e0e0e0;
    border: 1px solid #2f2f2f;
    box-shadow: 0 4px 8px rgba(255, 255, 255, .05);
}

body.dark-mode #property-search-half-map .result-card:hover {
    box-shadow: 0 4px 8px rgba(255, 255, 255, .1);
}

body.dark-mode #property-search-half-map .result-card .details-section h3,
body.dark-mode #property-search-half-map .result-card .details-section p,
body.dark-mode #property-search-half-map .result-card .details-section .price,
body.dark-mode #property-search-half-map .result-card .details-section .property-details span,
body.dark-mode #property-search-half-map .result-card .details-section .address {
    color: #fff !important;
}

body.dark-mode #property-search-half-map #map-overlay {
    background: rgba(255, 255, 255, .1);
    background-image: linear-gradient(90deg, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .1) 50%);
    background-size: 200% 200%;
    animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
    0% {background-position: -100% 0;}
    100% {background-position: 100% 0;}
}

body.dark-mode #property-search-half-map #custom-popup {
    background-color: #1e1e1e;
    color: #fff !important;
}

body.dark-mode #property-search-half-map #search-here {
    background-color: #2a2a2a;
    color: #e0e0e0;
    border: 1px solid #2f2f2f;
}

#property-search-half-map #dark-mode-toggle {
    background-color: #e0e0e0;
    border: none;
    width: 60px;
    height: 30px;
    border-radius: 30px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px;
    transition: background-color .3s;
    box-shadow: 0 0 5px rgba(0, 0, 0, .2);
    cursor: pointer;
}

#property-search-half-map #dark-mode-toggle::before {
    content: '';
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: #fff;
    position: absolute;
    left: 3px;
    transition: left .3s, background-color .3s;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
}

body.dark-mode #property-search-half-map #dark-mode-toggle {
    background-color: #2a2a2a;
}

body.dark-mode #property-search-half-map #dark-mode-toggle::before {
    left: 33px;
    background-color: #d1d1d1;
}

#property-search-half-map #dark-mode-toggle .light-mode,
#property-search-half-map #dark-mode-toggle .dark-mode {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

#property-search-half-map #dark-mode-toggle .light-mode {
    left: 5px;
    opacity: 1;
    transition: opacity .3s;
}

#property-search-half-map #dark-mode-toggle .dark-mode {
    right: 5px;
    opacity: 0;
    transition: opacity .3s;
}

body.dark-mode #property-search-half-map #dark-mode-toggle .light-mode {
    opacity: 0;
}

body.dark-mode #property-search-half-map #dark-mode-toggle .dark-mode {
    opacity: 1;
}

#property-search-half-map #dark-mode-toggle .light-mode svg,
#property-search-half-map #dark-mode-toggle .dark-mode svg {
    width: 100%;
    height: 100%;
}

#property-search-half-map #dark-mode-toggle .light-mode svg {
    fill: #ffdd00;
}

#property-search-half-map #dark-mode-toggle .dark-mode svg {
    fill: #fff;
}

body.dark-mode #property-search-half-map html,
body.dark-mode #property-search-half-map body {
    scrollbar-color: #4a4a4a #2a2a2a;
}

body.dark-mode #property-search-half-map html::-webkit-scrollbar-track,
body.dark-mode #property-search-half-map body::-webkit-scrollbar-track,
body.dark-mode #property-search-half-map #results-section::-webkit-scrollbar-track {
    background: #2a2a2a;
}

body.dark-mode #property-search-half-map html::-webkit-scrollbar-thumb,
body.dark-mode #property-search-half-map body::-webkit-scrollbar-thumb,
body.dark-mode #property-search-half-map #results-section::-webkit-scrollbar-thumb {
    background: #4a4a4a;
}

body.dark-mode #property-search-half-map html::-webkit-scrollbar-thumb:hover,
body.dark-mode #property-search-half-map body::-webkit-scrollbar-thumb:hover,
body.dark-mode #property-search-half-map #results-section::-webkit-scrollbar-thumb:hover {
    background: #6a6a6a;
}

body.dark-mode #property-search-half-map .post-count-and-dark-mode {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding-right: 10px;
}

body #property-search-half-map .post-count-and-dark-mode {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding-right: 10px;
}

body.dark-mode #property-search-half-map #geolocation-post-count {
    flex: 1;
    padding-right: 10px;
}

body #property-search-half-map #geolocation-post-count {
    flex: 1;
    padding-right: 10px;
}

body.dark-mode #property-search-half-map #dark-mode-toggle {
    margin-left: 10px;
}

body #property-search-half-map #dark-mode-toggle {
    margin-left: 10px;
}

body #property-search-half-map .custom-popup {
    background: white;
    color: #333;
}

body #property-search-half-map .popup-details h3,
body #property-search-half-map .popup-details p {
    color: #333;
}

body #property-search-half-map .popup-details .popup-price {
    color: #333;
}

body #property-search-half-map .popup-details .popup-icon {
    fill: #000;
}

body.dark-mode #property-search-half-map .custom-popup {
    background: #1e1e1e;
    color: #e0e0e0;
}

body.dark-mode #property-search-half-map .popup-details h3,
body.dark-mode #property-search-half-map .popup-details p {
    color: #fff;
}

body.dark-mode #property-search-half-map .popup-details .popup-price {
    color: #fff;
}

body.dark-mode #property-search-half-map .popup-details .popup-icon {
    fill: #fff;
}