Home / Albuquerque / Northwest Heights / Western Trails Estates
Western Trails Estates Homes for Sale | Northwest Heights, Albuquerque, NM Real Estate & Properties@endsection <div class="mb-4 bg-white rounded-lg shadow-md p-2 sm:p-4 mb-4"> <div class="flex items-start justify-between mb-2"> <h1 class="text-2xl">Western Trails Estates - Homes for Sale</h1> <button class="flex items-center gap-2 px-2 py-1 border border-gray-300 rounded-lg hover:bg-gray-50 transition-colors cursor-pointer" onclick="openMapModal('?ptype=Land,Residential&city=Albuquerque&area=NorthwestHeights&subdivision=WesternTrailsEstates')"> <svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24"> <path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"></path> </svg> <span class="text-sm font-medium">Map</span> </button> </div> <p>There are currently <b>0 MLS listings</b> for Houses for sale in <b>Western Trails Estates, Albuquerque</b>.</p> <p>Click on any listing to view photos, property details, virtual tours, and an interactive map.</p> <p>Want to refine your search? Use our <a href="/search#ptype=Land,Residential&city=Albuquerque&area=NorthwestHeights&subdivision=WesternTrailsEstates"><u><b>Advanced Home Search</b></u></a> to filter real estate by price, bedrooms, features, and more.</p> </div> <div class="mb-4 flex flex-wrap"> <div class="group relative"> <div class="bg-white pr-3 py-1 mr-2 mb-1 text-xs sm:text-sm rounded-md flex items-center"> <span class="ml-3">Land<a href="https://albuquerquehomesonline.com/search-results?ptype=Residential&city=Albuquerque&area=NorthwestHeights&subdivision=WesternTrailsEstates" class="ml-1 p-1 text-gray-500 hover:text-red-500 focus:outline-none">×</a></span> <span class="ml-3">Residential<a href="https://albuquerquehomesonline.com/search-results?ptype=Land&city=Albuquerque&area=NorthwestHeights&subdivision=WesternTrailsEstates" class="ml-1 p-1 text-gray-500 hover:text-red-500 focus:outline-none">×</a></span> </div> <div class="absolute bottom-full left-1/4 transform -translate-x-3/4 mb-2 px-2 py-1 text-sm text-gray-500 bg-white rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap border border-gray-300"> Property Type </div> </div> <div class="group relative"> <div class="bg-white pr-3 py-1 mr-2 mb-1 text-xs sm:text-sm rounded-md flex items-center"> <span class="ml-3"><a href="https://albuquerquehomesonline.com/Albuquerque-City" class="hover:text-red-500 focus:outline-none">Albuquerque</a><a href="https://albuquerquehomesonline.com/search-results?ptype=Land,Residential&area=NorthwestHeights&subdivision=WesternTrailsEstates" class="ml-1 text-gray-500 hover:text-red-500 focus:outline-none">×</a></span> </div> <div class="absolute bottom-full left-1/4 transform -translate-x-3/4 mb-2 px-2 py-1 text-sm text-gray-500 bg-white rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap border border-gray-300"> City </div> </div> <div class="group relative"> <div class="bg-white pr-3 py-1 mr-2 mb-1 text-xs sm:text-sm rounded-md flex items-center"> <span class="ml-3"><a href="https://albuquerquehomesonline.com/NorthwestHeights-Area" class="hover:text-red-500 focus:outline-none">Northwest Heights</a><a href="https://albuquerquehomesonline.com/search-results?ptype=Land,Residential&city=Albuquerque&subdivision=WesternTrailsEstates" class="ml-1 text-gray-500 hover:text-red-500 focus:outline-none">×</a></span> </div> <div class="absolute bottom-full left-1/4 transform -translate-x-3/4 mb-2 px-2 py-1 text-sm text-gray-500 bg-white rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap border border-gray-300"> MLS Area Major </div> </div> <div class="group relative"> <div class="bg-white pr-3 py-1 mr-2 mb-1 text-xs sm:text-sm rounded-md flex items-center"> <span class="ml-3"><a href="https://albuquerquehomesonline.com/WesternTrailsEstates-Subdivision" class="hover:text-red-500 focus:outline-none">Western Trails Estates</a><a href="https://albuquerquehomesonline.com/search-results?ptype=Land,Residential&city=Albuquerque&area=NorthwestHeights" class="ml-1 text-gray-500 hover:text-red-500 focus:outline-none">×</a></span> </div> <div class="absolute bottom-full left-1/4 transform -translate-x-3/4 mb-2 px-2 py-1 text-sm text-gray-500 bg-white rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap border border-gray-300"> Subdivision </div> </div> </div> <!-- Property Listings --> <div class="space-y-6"> <div class="bg-white rounded-lg shadow-md p-8 text-center"> <p class="text-gray-600">Currently no properties for sale available in <b>Western Trails Estates</b>.</p> </div> <p class="text-gray-800 mt-2 text-lg"><b>Explore Nearby Properties (1 mile radius):</b></p> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/4844-Stafford-Place-Nw-Albuquerque/id14841"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1091/272/1a7_s.jpg" alt="4844 Stafford Place NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/4844-Stafford-Place-Nw-Albuquerque/id14841"> 4844 Stafford Place NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$359,900</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> You will LOVE Western Trails Estates. This 2-story home sits in a prime Westside location between I-40 and Paseo Del Norte, close to St. Pius High School, grocery stores, and restaurants.Inside, you'll find 3 bedrooms, 2.5 baths, and a 2-car garage. The open concept floor plan is enhanced by cathedral ceilings, filling the home with light. The great room offers a cozy fireplace and flows into a spacious kitchen with stainless steel appliances, ample counter space, and updated lighting fixtures.Upstairs, the master suite is your private retreat. Soak in the jetted tub, then step out onto your balcony to enjoy mountain views.All appliances stay, making this home move-in ready. Schedule your showing today and see why Western Trails Estates is the place to be.Schedule your showing </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">1,683</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.11</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1091272</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 14841, listingInfo: '4844 Stafford Place NW. MLS # 1091272' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/4616-Marbella-Drive-Nw-Albuquerque/id15197"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1091/644/10b_s.jpg" alt="4616 MARBELLA Drive NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/4616-Marbella-Drive-Nw-Albuquerque/id15197"> 4616 MARBELLA Drive NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$450,000</div> <div class="text-red-600 font-medium text-sm flex items-center justify-end"> <svg class="w-4 h-4 mr-1" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" d="M16.707 10.293a1 1 0 010 1.414l-6 6a1 1 0 01-1.414 0l-6-6a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l4.293-4.293a1 1 0 011.414 0z" clip-rule="evenodd"></path> </svg> -25,000$ 10/01 </div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> A stunning home that offers breathtaking Sandia Mountain views & exceptional curb appeal in the fantastic Andalucia community! Inside, you'll find a bright & spacious open floor plan, with vaulted ceilings & a gas log fireplace! The modern kitchen features ample storage spaces & breakfast nook, seamlessly flowing into the inviting living & dining areas. Retreat to the luxurious master suite with an en-suite bath, while additional bedrooms provide comfort for family or guests. Enjoy your private backyard oasis, complete with a covered patio, perfect for relaxing or hosting gatherings. Located in a vibrant community, you're minutes from shopping, dining, and outdoor recreational opportunities. Don't miss this chance to own a dream home--schedule your showing today! </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">1,923</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.17</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1091644</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 15197, listingInfo: '4616 MARBELLA Drive NW. MLS # 1091644' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/4928-Calle-Espana-Nw-Albuquerque/id10938"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1087/307/1ea_s.jpg" alt="4928 Calle Espana NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/4928-Calle-Espana-Nw-Albuquerque/id10938"> 4928 Calle Espana NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$575,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Stunning Pulte home in Anadalucia on a premium View Lot. This home features a large open kitchen with abundant storage, granite counters, custom backsplash, and stainless appliances. Expansive family room is light & bright & features patio access. Primary suite is separate from the other rooms and offers a bay window & lovely bathroom w/two sinks, garden tub, shower & walk-in closet. Front room could make for a great office or workout space. Wood plantation shutters throughout. 3 car tandem garage w/utility sink. You'll want to relax in this professionally landscaped backyard with a large covered patio, syn-lawn, paver stone patio with mature plants & flowers. No neighbors behind you, & great views of the Sandias. Walk to bosque trails & city park nearby. </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2,023</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.15</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1087307</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 10938, listingInfo: '4928 Calle Espana NW. MLS # 1087307' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/5512-Duerksen-Road-Nw-Albuquerque/id8807"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1084/332/190_s.jpg" alt="5512 DUERKSEN Road NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/5512-Duerksen-Road-Nw-Albuquerque/id8807"> 5512 DUERKSEN Road NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$399,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Welcome to YOUR new home in the heart of Taylor Ranch! Step inside this gem to a fully modernized interior featuring luxury finishes, updated flooring, and upscale details that elevate daily living. Not to mention a New Roof in July2025! Every inch of this home has been thoughtfully curated with custom craftsmanship throughout. The stunning kitchen is a modern chef's delight featuring custom-built cabinetry and marbled concrete countertops with granite inlay. Retreat to spa-inspired bathrooms with natural Austrian stone showers & counters as well as heated flooring. Outside, your private oasis awaits in an expansive, fully landscaped backyard with lush grass & a large covered patio, offering unmatched tranquility and room to entertain. This gorgeous home is move-in ready & waiting for YOU </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">1,616</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.17</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1084332</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 8807, listingInfo: '5512 DUERKSEN Road NW. MLS # 1084332' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/4601-Mi-Cordelia-Drive-Nw-Albuquerque/id11747"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1088/113/139_s.jpg" alt="4601 MI CORDELIA Drive NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/4601-Mi-Cordelia-Drive-Nw-Albuquerque/id11747"> 4601 MI CORDELIA Drive NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$515,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Seller offering $4K buyer credit w/ acceptable offer. Beautifully maintained custom single-story home features a open floor plan & rare 2.5-car garage. The gourmet kitchen boasts large island, granite countertops, stainless steel appliances, & oversized walk-in pantry, perfect for everyday living & entertaining. Enjoy separation between the primary & guest bedrooms for added privacy. The spacious primary suite includes an en-suite bath with dual vanities, a walk-in shower, a separate garden tub, & a generous walk-in closet. The beautifully landscaped front & back yards are low maintenance. Located in the desirable Andalucia neighborhood, nestled near the Bosque w/access walking & biking trails. This gem offers convenience to downtown, hospitals, restaurants, grocery stores, shopping etc </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2,034</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.22</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1088113</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 11747, listingInfo: '4601 MI CORDELIA Drive NW. MLS # 1088113' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/4409-Summer-Hill-Lane-Nw-Albuquerque/id10028"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1086/385/125_s.jpg" alt="4409 SUMMER HILL Lane NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/4409-Summer-Hill-Lane-Nw-Albuquerque/id10028"> 4409 SUMMER HILL Lane NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$680,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Experience the timeless Mediterranean charm and inviting warmth of 4409 Summer Hill Lane Northwest, located in the heart of Albuquerque. This meticulously maintained, one-owner home has been thoughtfully cared for and beautifully updated to meet the needs of modern living while preserving its classic appeal. At the heart of the home is a stunning, fully remodeled chef's kitchen, equipped with high-end appliances, ample counter space, and elegant cabinetry. This kitchen seamlessly opens to bright and spacious living areas that are bathed in natural light, creating an airy and welcoming atmosphere perfect for both everyday living and entertaining guests. </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">5</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">3,004</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.13</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1086385</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 10028, listingInfo: '4409 SUMMER HILL Lane NW. MLS # 1086385' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/5905-Los-Riscos-Road-Nw-Albuquerque/id13799"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1090/215/1f7_s.jpg" alt="5905 LOS RISCOS Road NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/5905-Los-Riscos-Road-Nw-Albuquerque/id13799"> 5905 LOS RISCOS Road NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$450,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Beautifully maintained DR Horton Grand Canyon model now available! This highly sought-after floor plan offers an open, light, and bright layout with 4 spacious bedrooms, a versatile loft, and a dedicated office. Enjoy an oversized 2-car garage, covered patio, and built-in surround sound speakers for comfort and convenience. A perfect blend of style and functionality--don't miss your opportunity to make this home yours. Schedule a showing today! </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">4</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">3,041</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.14</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1090215</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 13799, listingInfo: '5905 LOS RISCOS Road NW. MLS # 1090215' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/5129-Camino-Vista-Nw-Albuquerque/id15517"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1091/736/115_s.jpg" alt="5129 CAMINO VISTA NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/5129-Camino-Vista-Nw-Albuquerque/id15517"> 5129 CAMINO VISTA NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$399,900</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> This wonderful home offers 4 bedrooms (possible 5) and 2 bathrooms. The home's design is very thoughtful providing a great layout to spend time and build unforgettable memories with your loved ones. Enjoy the natural lighting the open atrium offers; plant lovers welcome! The back patio is perfect and inviting to spend endless hours entertaining, relaxing or simply enjoying the fresh air and tranquility of the area. Located in a desirable neighborhood, this home provides easy access to shopping centers, schools, restaurants, parks, main roads and all main amenities. Did I mention a new TPO roof was recently installed? This will provide its new owners peace of mind for years to come! Don't miss the opportunity to make this your home and schedule a showing today. </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">4</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">1,911</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.16</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1091736</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 15517, listingInfo: '5129 CAMINO VISTA NW. MLS # 1091736' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/5320-Old-Adobe-Trail-Nw-Albuquerque/id10882"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1086/618/13b_s.jpg" alt="5320 OLD ADOBE Trail NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/5320-Old-Adobe-Trail-Nw-Albuquerque/id10882"> 5320 OLD ADOBE Trail NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$695,900</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Exquisite custom-built Charter home nestled behind the gates of the prestigious Oxbow North community. This 2,941 sq ft residence offers 4 spacious bedrooms, 3 baths, and a 3-car garage. Thoughtfully designed with quality craftsmanship throughout. Stunning rotunda entry welcomes you. he beautiful living area offers a built-in media center, surround sound and a gas fireplace. Gourmet kitchen with designer cabinetry, high end appliances, backsplash, backsplash, pot filler, center island with seating and prep island with sink. Owners suite with spa like bath. Bath with dual sinks, a jetted tub with granite surround, a huge walk-in shower and walk-in closet! Enjoy sunsets on the balcony w/ stunning views! Wonderful backyard with a sparkling pool & covered patio! Walking trails and bike paths! </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">4</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">3</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2,941</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.14</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1086618</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 10882, listingInfo: '5320 OLD ADOBE Trail NW. MLS # 1086618' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> <div class="bg-white rounded-lg shadow-md overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/4301-Beresford-Lane-Nw-Albuquerque/id14850"> <img class="h-48 w-full object-cover md:w-60 md:h-full max-h-48 w-auto object-cover" src="https://imgs1.iilogic.com/sw/1091/281/167_s.jpg" alt="4301 BERESFORD Lane NW, Albuquerque "> </a> </div> <div class="p-2 sm:p-4 flex-1"> <div class="flex justify-between items-start"> <div> <h2 class="text-bg sm:text-xl font-semibold text-blue-700 hover:text-blue-900"> <a href="https://albuquerquehomesonline.com/4301-Beresford-Lane-Nw-Albuquerque/id14850"> 4301 BERESFORD Lane NW, Albuquerque </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$549,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> OPEN HOUSE on Saturday, September 27th from 3-5 PM. Gorgeous home on a spacious corner lot in the desirable gated community of Oxbox North! The enclosed front courtyard welcomes you with mature trees, bushes, and a peaceful water feature. The backyard offers another water feature, lawn, covered patio, and lush landscaping, creating a private oasis. Inside, you'll find 3 bedrooms plus a flexible 4th bedroom/office conveniently located off the courtyard. The elegant living room features a gas log fireplace, while the primary suite boasts dual walk-in closets. Enjoy year-round comfort with refrigerated air conditioning. This home blends privacy, beauty, and functionality in a sought-after neighborhood. </p> </div> </div> <div class="mt-4 flex justify-between items-end"> <div class="flex space-x-4"> <div class="text-center"> <div class="font-semibold text-xl">4</div> <div class="text-xs text-gray-500">BEDS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">2,218</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.19</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1091281</div> <div class="text-xs text-gray-500">MLS</div> </div> </div> <div class="flex items-center space-x-2"> <button class="flex items-center text-blue-600 hover:text-blue-800" x-data @click="$dispatch('open-modal', { id: 'request-info-modal', listing: 14850, listingInfo: '4301 BERESFORD Lane NW. MLS # 1091281' })" > <svg class="w-5 h-5 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> </svg> <span class="hidden sm:block">REQUEST INFORMATION</span> </button> </div> </div> </div> </div> </div> </div> <!-- Pagination --> <nav class="mt-8"> </nav> </div> <div class="w-full lg:w-1/3 mt-8 lg:mt-0"> <div class="bg-white rounded-lg shadow-md p-6 mb-8 sticky top-4 z-10"> <div class="flex items-center mb-4"> <img src="/img/Daria-Derebera.jpg" alt="Daria Derebera Realtor" class="w-16 h-16 rounded-full object-cover mr-4"> <div> <h3 class="font-semibold text-lg">Daria Derebera</h3> <p class="text-gray-600">Real Estate Broker in Albuquerque, NM</p> </div> </div> <div class="flex items-center mb-4"> <a href="tel:+15055218550" class="text-gray-700 hover:text-blue-600"> <svg class="w-4 h-4 mr-1 inline" fill="currentColor" viewBox="0 0 20 20"> <path d="M2 3a1 1 0 011-1h2.153a1 1 0 01.986.836l.74 4.435a1 1 0 01-.54 1.06l-1.548.773a11.037 11.037 0 006.105 6.105l.774-1.548a1 1 0 011.059-.54l4.435.74a1 1 0 01.836.986V17a1 1 0 01-1 1h-2C7.82 18 2 12.18 2 5V3z"/> </svg> (505) 521 8550 </a> </div> <form method="POST" id="detail-contact-agent" class=""> <input type="hidden" name="address" value="https://albuquerquehomesonline.com/listings/request-info"> <input type="hidden" name="_token" value="MzD7wEsvkJmdztUTPWAuoHplmul7TEY7noqukV5G" autocomplete="off"> <div> <label for="contact_name" class="block text-sm font-medium text-gray-700 mb-1">Name</label> <input type="text" id="contact_name" name="name" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" required> </div> <div> <label for="contact_email" class="block text-sm font-medium text-gray-700 mb-1 mt-3">Email</label> <input type="email" id="contact_email" name="email" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" required> </div> <div> <label for="contact_phone" class="block text-sm font-medium text-gray-700 mb-1 mt-3">Phone</label> <input type="tel" id="contact_phone" name="phone" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" required> </div> <div> <label for="contact_message" class="block text-sm font-medium text-gray-700 mb-1 mt-3">Message</label> <textarea id="contact_message" name="message" rows="4" class="w-full px-3 py-2 text-sm border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" required></textarea> </div> <button type="submit" class="w-full bg-blue-600 text-white py-2 mt-4 rounded-md hover:bg-blue-700 transition-colors cursor-pointer"> Contact Agent </button> </form> </div> <div x-data="{ open: false }" @open-modal.window="open = $event.detail.id === 'detail-contact-agent'" x-show="open" x-cloak class="fixed inset-0 z-50 overflow-y-auto" > <div class="flex items-center justify-center min-h-screen p-4"> <div class="fixed inset-0 bg-black opacity-30" @click="open = false"></div> <!-- Success Message --> <div class="relative bg-white rounded-lg max-w-md w-full mx-auto shadow-lg p-6"> <div class="flex items-center justify-center mb-4"> <svg class="h-12 w-12 text-green-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path> </svg> </div> <h3 class="text-lg font-medium text-center">Agent Contact Request Sent</h3> <p class="text-gray-600 text-center mt-2">Thank you for contacting us. An agent will reach out to you as soon as possible.</p> <div class="mt-6 flex justify-center"> <button @click="open = false" class="px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700"> Close </button> </div> </div> </div> </div> <script> const formsArr = ['detail-contact-agent']; formsArr.forEach(function(formId){ document.getElementById(formId).addEventListener("submit", function(event) { event.preventDefault(); this.action = this.address.value; const formData = new FormData(this); formData.set('type', this.id); formData.set('ua', navigator.userAgent); const submitButton = this.querySelector('button[type="submit"]'); if (submitButton) { submitButton.disabled = true; } const xhr = new XMLHttpRequest(); xhr.open('POST', this.action, false); try { xhr.send(formData); if(formId === 'detail-contact-agent'){ const modalEvent = new CustomEvent('open-modal', { detail: { id: 'detail-contact-agent' } }); window.dispatchEvent(modalEvent); } this.reset(); } catch (error) { console.error('Error submitting form:', error); alert('There was a problem submitting your request. Please try again.'); } finally { if (submitButton) { submitButton.disabled = false; } } }); }) </script> </div> </div> <h2 class="my-6">Explore Nearby Subdivisions in Albuquerque Area</h2> <p class="text-gray-700 text-lg leading-relaxed mb-6"> Looking beyond <b>Western Trails Estates</b>? Expand your home search to these neighboring zip codes in Albuquerque Area. Each area offers unique characteristics, price points, and lifestyle options while maintaining convenient access to Albuquerque. Compare homes across multiple communities to find the perfect match for your budget and lifestyle preferences. </p> <div class="grid md:grid-cols-2 gap-8"> <div> <ul class="space-y-1"> <li> <a href="https://albuquerquehomesonline.com/Andalucia-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Andalucia Homes for Sale</a> - <i>1 Listing ~0 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/AndalucialaLuz-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Andalucia/la Luz Homes for Sale</a> - <i>1 Listing ~0 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/OxbowNorth-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Oxbow North Homes for Sale</a> - <i>1 Listing ~1 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/PlatOfOxbowNorth-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Plat Of Oxbow North Homes for Sale</a> - <i>1 Listing ~1 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/CollegeHeights-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> College Heights Homes for Sale</a> - <i>1 Listing ~1 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/OxbowBluff-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Oxbow Bluff Homes for Sale</a> - <i>2 Listings ~1 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/VillaDePaz-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Villa De Paz Homes for Sale</a> - <i>1 Listing ~2 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/RinconadaMesa-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Rinconada Mesa Homes for Sale</a> - <i>1 Listing ~2 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/NorthernHeights-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Northern Heights Homes for Sale</a> - <i>6 Listings ~2 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/FairwayManor-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Fairway Manor Homes for Sale</a> - <i>1 Listing ~2 Miles Away</i> </li> </ul> </div> <div> <h3>Quick Facts about Western Trails Estates community</h3> <ul class="space-y-1"> <li>Postal Code: <b>87120</b></li> <li>County: <b>Bernalillo</b></li> <li>Elementary School: <a href="https://albuquerquehomesonline.com/ChaparralElementarySchool">Chaparral</a></li> <li>Middle School: <a href="https://albuquerquehomesonline.com/LyndonBJohnsonMiddleSchool">Lyndon B Johnson</a></li> <li>High School: <a href="https://albuquerquehomesonline.com/VolcanoVistaHighSchool">Volcano Vista</a></li> <li>Browse <a href="https://albuquerquehomesonline.com/WesternTrailsEstates-Subdivision/sold">3 resently sold</a> Western Trails Estates properties</li> </ul> </div> </div> <div class="mt-8 text-sm text-gray-500 flex items-start"> <img src="/img/swmls_logo.gif" class="mr-3 flex-shrink-0 p-2 bg-white rounded border" alt="Southwest MLS Logo"> Some of the information contained herein has been provided by SWMLS, Inc. This information is from sources deemed reliable but not guaranteed by SWMLS, Inc. The information is for consumers’ personal, non-commerical use and may not be used for any purpose other than identifying properties which consumers may be interested in purchasing. </div> </div> <div x-show="open" x-data="mapModal()" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" class="fixed inset-0 z-50 overflow-hidden flex items-center justify-center p-1 sm:p-4" style="display: none;"> <div class="absolute inset-0 bg-black bg-opacity-75"></div> <div class="relative w-full max-w-7xl h-full max-h-[90vh] bg-white rounded-lg shadow-2xl overflow-hidden"> <div class="flex items-center justify-between p-4 bg-gray-50 border-b"> <h2 class="text-xl font-semibold text-gray-800">Property Map</h2> <button @click="closeModal()" class="bg-white rounded-full p-2 shadow-lg hover:bg-gray-100 transition"> <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path> </svg> </button> </div> <div x-show="loading" class="absolute inset-0 flex items-center justify-center bg-white z-20"> <div class="text-center"> <div class="animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto"></div> <p class="mt-4 text-gray-600">Loading map and properties...</p> </div> </div> <div id="map" class="w-full h-full"></div> </div> </div> <script> let googleMapsLoaded = false; let googleMapsLoadPromise = null; let googleMapsQuery = null; function openMapModal(query = '') { googleMapsQuery = query; const modalElement = document.querySelector('[x-data="mapModal()"]'); const alpineData = Alpine.$data(modalElement); alpineData.openModal(); }; function loadGoogleMapsAPI() { if (googleMapsLoaded) { return Promise.resolve(); } if (googleMapsLoadPromise) { return googleMapsLoadPromise; } googleMapsLoadPromise = new Promise((resolve, reject) => { const script = document.createElement('script'); script.src = 'https://maps.googleapis.com/maps/api/js?key=AIzaSyBK_zl9FOZc4Wg84V2MRW2ncYlTZLk3m5o&callback=initMapCallback'; script.async = true; script.defer = true; window.initMapCallback = () => { googleMapsLoaded = true; resolve(); }; script.onerror = () => { googleMapsLoadPromise = null; reject(new Error('Failed to load Google Maps')); }; document.head.appendChild(script); }); return googleMapsLoadPromise; } function mapModal() { return { open: false, loading: false, map: null, markers: [], markerCluster: null, infoWindow: null, currentInfoWindow: null, mapInitialized: false, async openModal() { this.open = true; this.loading = true; try { await loadGoogleMapsAPI(); await this.$nextTick(); if (!this.mapInitialized) { await this.initMap(); this.mapInitialized = true; } await this.loadProperties(); } catch (error) { console.error('Error loading map:', error); alert('Failed to load the map. Please check your internet connection and try again.'); this.open = false; } finally { this.loading = false; } }, closeModal() { this.open = false; this.clearMarkers(); if (this.currentInfoWindow) { this.currentInfoWindow.close(); this.currentInfoWindow = null; } }, clearMarkers() { this.markers.forEach(marker => marker.setMap(null)); this.markers = []; }, async initMap() { this.map = new google.maps.Map(document.getElementById('map'), { center: { lat: 35.0844, lng: -106.6504 }, zoom: 12, zoomControl: true, zoomControlOptions: { position: google.maps.ControlPosition.RIGHT_CENTER }, mapTypeControl: true, scaleControl: true, streetViewControl: true, rotateControl: true, fullscreenControl: true }); this.infoWindow = new google.maps.InfoWindow(); this.map.addListener('click', () => { if (this.currentInfoWindow) { this.currentInfoWindow.close(); this.currentInfoWindow = null; } }); }, async loadProperties() { try { this.clearMarkers(); const response = await fetch('/api/map-search' + googleMapsQuery); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const properties = await response.json(); this.createMarkers(properties?.results); if (this.markers.length > 0) { const bounds = new google.maps.LatLngBounds(); this.markers.forEach(marker => bounds.extend(marker.getPosition())); this.map.fitBounds(bounds); } } catch (error) { console.error('Error loading properties:', error); } }, createMarkers(properties) { properties.forEach(property => { const priceTag = this.createPriceMarker(property.price); const marker = new google.maps.Marker({ position: { lat: property.lat, lng: property.lng }, map: this.map, icon: { url: 'data:image/svg+xml;charset=UTF-8,' + encodeURIComponent(priceTag), scaledSize: new google.maps.Size(50, 25), anchor: new google.maps.Point(25, 25) }, zoomControl: true, scaleControl: true, }); marker.addListener('click', () => { this.showPropertyInfo(property, marker); }); this.markers.push(marker); }); }, createPriceMarker(price) { const formattedPrice = '$' + (price > 10000 ? new Intl.NumberFormat().format(Math.round(price / 1000)) + 'K' : new Intl.NumberFormat().format(price)); return ` <svg width="50" height="25" xmlns="http://www.w3.org/2000/svg"> <g> <rect x="0" y="0" width="50" height="20" rx="4" fill="#3B82F6"/> <polygon points="25,25 21,20 29,20" fill="#3B82F6"/> <text x="25" y="14" text-anchor="middle" fill="white" font-family="Arial" font-size="10" font-weight="500" style="font-size: 11px !important;">${formattedPrice}</text> </g> </svg> `; }, showPropertyInfo(property, marker) { if (this.currentInfoWindow) { this.currentInfoWindow.close(); } const content = ` <div class="max-w-sm"> <a href="${property.url}" target="_blank"><img src="${property.image}" alt="${property.address}" class="w-full h-48 object-cover rounded-t-lg"></a> <div class="p-2"> <div class="flex flex-row justify-between"> <div> <div class="text-lg font-semibold text-gray-800">${property.address}</div> </div> <div class="text-right"> <p class="text-lg font-bold text-blue-800 ml-2">$${property.price.toLocaleString()}</p> </div> </div> <p class="text-md text-gray-800 mb-2"><span class="font-semibold">${property.city}</span> ${property.zip}, MLS# <span class="font-semibold">${property.mls_id}</span></p> <div class="flex items-center text-gray-600 text-sm mb-3"> ${property.beds > 0 ? `<span class="mr-2">🛏️ ${property.beds} beds</span>` : ''} ${property.baths > 0 ? `<span class="mr-2">🚿 ${property.baths} baths</span>` : ''} ${property.sqft != 0 ? `<span>📐 ${property.sqft} sqft</span>` : ''} </div> <div class="mx-4"> <a href="${property.url}" target="_blank" class="block w-full text-center bg-blue-600 text-white py-2 px-4 rounded hover:bg-blue-700 transition"> View Details </a> </div> </div> </div>`; this.currentInfoWindow = new google.maps.InfoWindow({ content: content }); this.currentInfoWindow.open(this.map, marker); }, init() { // Component initialized } } } </script> <!-- Request Info Modal (using Alpine.js) --> <div x-data="{ open: false, listingId: null, listingInfo: null, showSuccess: false }" @open-modal.window="open = $event.detail.id === 'request-info-modal'; listingId = $event.detail.listing; listingInfo=$event.detail.listingInfo; showSuccess = false" x-show="open || showSuccess" x-cloak class="fixed inset-0 z-50 overflow-y-auto" > <div class="flex items-center justify-center min-h-screen p-4"> <div class="fixed inset-0 bg-black opacity-30" @click="open = false; showSuccess = false"></div> <!-- Success Message --> <div x-show="showSuccess" class="relative bg-white rounded-lg max-w-md w-full mx-auto shadow-lg p-6"> <div class="flex items-center justify-center mb-4"> <svg class="h-12 w-12 text-green-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path> </svg> </div> <h3 class="text-lg font-medium text-center">Information Request Submitted</h3> <p class="text-gray-600 text-center mt-2">Thank you for your interest. We'll get back to you shortly.</p> <div class="mt-6 flex justify-center"> <button @click="showSuccess = false; open = false" class="px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700"> Close </button> </div> </div> <!-- Form Modal --> <div x-show="open && !showSuccess" class="relative bg-white rounded-lg max-w-md w-full mx-auto shadow-lg"> <div class="relative bg-white rounded-lg max-w-md w-full mx-auto shadow-lg"> <div class="px-6 py-4 border-b"> <h3 class="text-lg font-medium">Request Information</h3> <button @click="open = false" class="absolute top-4 right-4 text-gray-400 hover:text-gray-500"> <svg class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path> </svg> </button> </div> <form method="POST" id="search-request-info" target="submission-frame" class="p-6"> <input type="hidden" name="address" value="https://albuquerquehomesonline.com/listings/request-info"> <input type="hidden" name="_token" value="MzD7wEsvkJmdztUTPWAuoHplmul7TEY7noqukV5G" autocomplete="off"> <div class="mb-4"> <label for="name" class="block text-sm font-medium text-gray-700">Name</label> <input type="text" name="name" id="name" class="mt-1 p-1 block w-full rounded-md border border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500" required> </div> <div class="mb-4"> <label for="email" class="block text-sm font-medium text-gray-700">Email</label> <input type="email" name="email" id="email" class="mt-1 p-1 block w-full rounded-md border border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500" required> </div> <div class="mb-4"> <label for="phone" class="block text-sm font-medium text-gray-700">Phone</label> <input type="text" name="phone" id="phone" class="mt-1 p-1 block w-full rounded-md border border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500" required> </div> <div class="mb-4"> <label for="message" class="block text-sm font-medium text-gray-700">Message</label> <textarea name="message" id="message" rows="4" class="mt-1 p-1 block w-full rounded-md border border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500 text-sm" required x-bind:value="listingInfo ? `I'm interested in listing: ${listingInfo}` : ''"></textarea> </div> <div class="mt-6 flex justify-end"> <button type="button" @click="open = false" class="mr-3 px-4 py-2 border border-gray-300 rounded-md text-sm font-medium text-gray-700 hover:bg-gray-50"> Cancel </button> <button type="submit" class="px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"> Submit Request </button> </div> </form> </div> </div> </div> <script> document.getElementById('search-request-info').addEventListener("submit", function(event) { event.preventDefault(); this.action = this.address.value; const formData = new FormData(this); formData.set('type', this.id); formData.set('ua', navigator.userAgent); const submitButton = this.querySelector('button[type="submit"]'); if (submitButton) { submitButton.disabled = true; } const xhr = new XMLHttpRequest(); xhr.open('POST', this.action, false); try { xhr.send(formData); const modal = this.closest('[x-data*="open"]'); if (modal) { Alpine.$data(modal).showSuccess = true; Alpine.$data(modal).open = false; } this.reset(); } catch (error) { console.error('Error submitting form:', error); alert('There was a problem submitting your request. Please try again.'); } finally { if (submitButton) { submitButton.disabled = false; } } }); </script>