Home / Placitas / Placitas Area / Petroglyph Place
Petroglyph Place Homes for Sale | Placitas Area, Placitas, 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">Petroglyph Place - 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=Placitas&area=PlacitasArea&subdivision=PetroglyphPlace')"> <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>1 MLS listings</b> for Houses for sale in <b>Petroglyph Place, Placitas</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=Placitas&area=PlacitasArea&subdivision=PetroglyphPlace"><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=Placitas&area=PlacitasArea&subdivision=PetroglyphPlace" 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=Placitas&area=PlacitasArea&subdivision=PetroglyphPlace" 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/Placitas-City" class="hover:text-red-500 focus:outline-none">Placitas</a><a href="https://albuquerquehomesonline.com/search-results?ptype=Land,Residential&area=PlacitasArea&subdivision=PetroglyphPlace" 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/PlacitasArea-Area" class="hover:text-red-500 focus:outline-none">Placitas Area</a><a href="https://albuquerquehomesonline.com/search-results?ptype=Land,Residential&city=Placitas&subdivision=PetroglyphPlace" 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/PetroglyphPlace-Subdivision" class="hover:text-red-500 focus:outline-none">Petroglyph Place</a><a href="https://albuquerquehomesonline.com/search-results?ptype=Land,Residential&city=Placitas&area=PlacitasArea" 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 overflow-hidden"> <div class="md:flex"> <div class="md:flex-shrink-0"> <a href="https://albuquerquehomesonline.com/7-Aztec-Court-Placitas/id10438"> <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/805/125_s.jpg" alt="7 Aztec Court, Placitas "> </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/7-Aztec-Court-Placitas/id10438"> 7 Aztec Court, Placitas </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$889,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Beautiful custom home in Petroglyph Trails with wraparound patios and breathtaking mountain views! The open-concept floor plan is perfect for entertaining, seamlessly connecting the living, dining, and kitchen areas. The chef's kitchen is a true showstopper, boasting custom soft-close cabinetry, granite counters, GE Monogram appliances, built-in microwave drawer, and wired island. Italian wood-like porcelain tile throughout (carpet only in closets). The spacious primary suite boasts a dream walk-in closet. Entire interior, including cabinetry, was professionally repainted in June 2025. Upgrades include widened tar and chip driveway, addition of a circular driveway, front landscaping, water softener system, and custom gates. Luxurious, comfortable living at its finest! </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">2,544</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.85</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1086805</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: 10438, listingInfo: '7 Aztec Court. MLS # 1086805' })" > <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> <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/12-Norte-Trail-Court-Placitas/id14588"> <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/3/143_s.jpg" alt="12 NORTE TRAIL Court, Placitas "> </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/12-Norte-Trail-Court-Placitas/id14588"> 12 NORTE TRAIL Court, Placitas </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$669,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Discover the perfect Placitas home that offers peace, stunning views, charm, and an ideal location. This meticulously maintained single-level residence features 3 bedrooms and 2 bathrooms, with an updated kitchen including a Wolf cooktop. The spacious 3-car garage is ideal for parking or a workshop, and a separate 351 sq ft heated and cooled building provides versatile space as an office, studio, or craft room. Located at the end of a quiet road, it's just a 35-minute drive to Santa Fe, close to the RailRunner, grocery stores, golf, and amenities. The home boasts beautiful stone floors throughout, with brick flooring and a large walk-in closet in the primary suite. The landscaped front courtyard and covered patio offers breathtaking mountain views, perfect for relaxing and entertaining. </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,558</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.95</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1091003</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: 14588, listingInfo: '12 NORTE TRAIL Court. MLS # 1091003' })" > <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/13-Camino-Cielo-Court-Placitas/id14347"> <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/765/1b8_s.jpg" alt="13 CAMINO CIELO Court, Placitas "> </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/13-Camino-Cielo-Court-Placitas/id14347"> 13 CAMINO CIELO Court, Placitas </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$675,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Unlock value in Placitas! This spacious 2892 sq ft home offers an incredible investment opportunity for buyers looking to build equity through updates priced at 233sf. Whether you're looking for a fix-and-flip, long-term hold, or sweat equity project, 13 Camino Cielo is priced to move and primed for transformation. Tucked at the end of a cul-de-sac on 1.13 acres with mountain and mesa views. Great floor plan with two living areas off the inviting entry way, generous sized rooms, two fireplaces and southwest charm throughout, wood beams, vigas, saltillo tile, adobe accent walls and an additional 277sq ft sunroom not included in square footage. This home is just 3 minutes from I25 for easy access. Placitas located just 15 minutes north of Albuquerque and 35 minutes south of Santa Fe. </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,892</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">1.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">1090765</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: 14347, listingInfo: '13 CAMINO CIELO Court. MLS # 1090765' })" > <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/16-Mimbres-Court-Placitas/id546"> <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/1082/201/1d5_s.jpg" alt="16 Mimbres Court, Placitas "> </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/16-Mimbres-Court-Placitas/id546"> 16 Mimbres Court, Placitas </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$725,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> This gorgeous one level home is a modern southwestern gem in new condition! Built in picturesque Placitas! Enter through a large custom-built door into an open concept floor plan with beautiful beamed ceilings. The kitchen has stainless appliances, granite counter tops, a large island & a generous sized pantry. The primary suite offers a large walk-in closet, a spa -like bathroom with separate vanities. Built in 2022 of SIP wall construction, and is energy efficient and extremely quiet. The large windows allow for an abundance of natural light while turning windows into living masterpieces of art, constantly changing while bringing in views. 3 car garage with epoxy floors. Enjoy the outdoors relaxing on the covered patio enjoying the amazing sunset views New Mexico is known for. </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">2,337</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">1.89</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1082201</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: 546, listingInfo: '16 Mimbres Court. MLS # 1082201' })" > <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/5-Vista-Del-Sol-Placitas/id3651"> <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/1074/548/18a_s.jpg" alt="5 VISTA DEL SOL, Placitas "> </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/5-Vista-Del-Sol-Placitas/id3651"> 5 VISTA DEL SOL, Placitas </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$185,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> CONVENIENT! BIG SANDIA VIEWS! $185,000. Located less than a 3 minute drive from I-25 & under 10 minutes from Albuquerque, this wonderfully private lot has excellent mountain views! Sweet western views too. Reasonable restrictions include 1800 sq ft minimum house size, 20' maximum building height & southwestern style homes required. (No horses allowed, etc.) Shared well is located at far west end of the property; well is shared with neighbors to the west. Underground utilities: electricity, cable & phone. Natural gas line is only about 700 feet away. 3 acre lot with 2 possible building sites. Although the arroyo is in flood zone, both building sites are not in the flood zone! Gently rolling terrain with about 3/4 acre of buildable land at each potential house site. HOA is just $20/year! </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">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1074548</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: 3651, listingInfo: '5 VISTA DEL SOL. MLS # 1074548' })" > <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/59-Sky-Mountain-Road-Placitas/id14120"> <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/521/131_s.jpg" alt="59 SKY MOUNTAIN Road, Placitas "> </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/59-Sky-Mountain-Road-Placitas/id14120"> 59 SKY MOUNTAIN Road, Placitas </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$689,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> $10,000 buyer credit! This home is a rare gem with mountain and city light views with over $50,000 in upgrades. The seamless indoor-outdoor living, thoughtful updates, & upscale yet earthy aesthetic invite comfort & sophistication. This home is perched on a 1.69-acre lot in the desired Sky Mountain Subdivision in Placitas located just minutes from I25 for easy access! Traditional Southwestern features set the tone with vigas, corbels, nichos, custom alder cabinets, and doors create artisanal charm, complemented by a welcoming open floor plan. The gourmet kitchen has a center island with counter seating, granite countertops, and stainless-steel appliances, this culinary hub flows beautifully into the great room and formal dining area--ideal for entertaining. </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">2,230</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">1.69</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1090521</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: 14120, listingInfo: '59 SKY MOUNTAIN Road. MLS # 1090521' })" > <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/2-Brazos-Trail-Court-Placitas/id12215"> <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/583/136_s.jpg" alt="2 Brazos Trail Court, Placitas "> </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/2-Brazos-Trail-Court-Placitas/id12215"> 2 Brazos Trail Court, Placitas </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$1,329,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Welcome to the pinnacle of living, peace adn serenity, in the picturesque community of Placitas. Experience contemporary luxury and cutting-edge smart home technology in this open-concept home. This stunning residence boasts high ceilings and large windows that frame panoramic mountain and sunset views, inviting natural light to illuminate the Italian porcelain tile flooring. Enjoy the versatility of three spacious bedrooms plus an office, alongside a well-equipped exercise room. The heart of this home features walnut custom cabinets, granite counters, under cabinet LED lighting and a generous walk-in pantry with a coffee bar for your culinary adventures. Primary suite has separate entry to the patio, expansive views, generous walk-in shower and freestanding tub. The outdoor </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">4</div> <div class="text-xs text-gray-500">BATHS</div> </div> <div class="text-center"> <div class="font-semibold text-xl">3,349</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">0.75</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1088583</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: 12215, listingInfo: '2 Brazos Trail Court. MLS # 1088583' })" > <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/12-Brazos-Trail-Placitas/id10215"> <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/567/18c_s.jpg" alt="12 BRAZOS Trail, Placitas "> </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/12-Brazos-Trail-Placitas/id10215"> 12 BRAZOS Trail, Placitas </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$1,048,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Introducing this stunning contemporary Dream Home! Built in 2022,this spacious 1-acre lot offers breathtaking views of the Sandia mountains. With 3br,3ba, 3 car oversize garage. The Kitchen is equipped with high end appliances, including Subzero, Wolf oven, Fisher-Paykel dishwasher, Wolf microwave. The upgraded tile in the kitchen adds a touch of elegance. Throughout the home ,you'll find hunter Douglas power shades, Le Grande switches,& outlets, showcasing the attention to detail. A high-end Maytag washer & dryer are included for your convenience. This home also includes an alarm system, ring doorbell, & eight exterior cameras for enhanced security. The epoxy courtyard & patio floors add a touch of style. With numerous upgrades ,this dream home is ready for you to make it your own. More. </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">2,627</div> <div class="text-xs text-gray-500">SQFT</div> </div> <div class="text-center"> <div class="font-semibold text-xl">1.01</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1086567</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: 10215, listingInfo: '12 BRAZOS Trail. MLS # 1086567' })" > <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/Gila-Lot-55-Court-Placitas/id1668"> <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/1080/736/1a3_s.jpg" alt="Gila Lot 55 Court, Placitas "> </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/Gila-Lot-55-Court-Placitas/id1668"> Gila Lot 55 Court, Placitas </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$169,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Spectacular Sandia Mountain and Jemez Mesa views on this 1.44-acre lot with nice building site and protected views. Located on a quiet cul de sac in the premier Anasazi Meadows subdivision. Community water system, underground, utilities, natural gas, electric, cable, paved walking trails and paved roads. East access to I-25. Only a few lots left in this highly desirable area of Placitas. </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">1.44</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1080736</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: 1668, listingInfo: 'Gila Lot 55 Court. MLS # 1080736' })" > <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/Tbd-Bernalillo/id11065"> <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/436/163_s.jpg" alt="TBD, Bernalillo "> </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/Tbd-Bernalillo/id11065"> TBD, Bernalillo </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$199,900</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Discover this beautiful property in El Llanito, NM, just under an acre, offering endless possibilities to create your ideal lifestyle. Whether you envision building your dream home or cultivating a productive garden or small agricultural project, this versatile land provides the perfect canvas. Set against a gently rolling landscape with rich, fertile soil, the property features a striking large cross, possibly of historical significance, standing proudly as a unique landmark and adding character and a sense of heritage. Enjoy the country living feel with open space, while still being just minutes from shopping, restaurants, and a casino. You'll appreciate the rare combination of peaceful rural atmosphere and the conveniences of the city close at hand. </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">0.75</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1087436</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: 11065, listingInfo: 'TBD. MLS # 1087436' })" > <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/Basketweaver-Court-Placitas/id3941"> <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/1072/984/19b_s.jpg" alt="Basketweaver Court, Placitas "> </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/Basketweaver-Court-Placitas/id3941"> Basketweaver Court, Placitas </a> </h2> </div> <div class="text-right"> <div class="text-xl sm:text-2xl font-bold text-gray-800">$110,000</div> </div> </div> <div class="flex justify-between items-start"> <div> <p class="mt-1 text-gray-600 line-clamp-2"> Sandia Mountain & Jemez Mesa views on this affordable lot located on a quiet cul de sac in the premier Anasazi Meadows subdivision. Community water system, underground utilities, natural gas, electric, cable, tennis/pickleball court, paved walking trails and paved roads. Easy access to I-25. Only a few lots left in this highly desirable area of Placitas. </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">0.79</div> <div class="text-xs text-gray-500">ACRES</div> </div> <div class="text-center hidden sm:block"> <div class="font-semibold text-xl">1072984</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: 3941, listingInfo: 'Basketweaver Court. MLS # 1072984' })" > <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 Placitas Area</h2> <p class="text-gray-700 text-lg leading-relaxed mb-6"> Looking beyond <b>Petroglyph Place</b>? Expand your home search to these neighboring zip codes in Placitas 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/PlacitasTrails-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Placitas Trails Homes for Sale</a> - <i>1 Listing ~0 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/PlacitasVistaDeLaMontanaSur-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Placitas Vista De La Montana Sur Homes for Sale</a> - <i>1 Listing ~1 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/SkyMountainSubdivision-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Sky Mountain Subdivision Homes for Sale</a> - <i>1 Listing ~1 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/LandsOfCastillo-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Lands Of Castillo Homes for Sale</a> - <i>1 Listing ~1 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/AnasaziMeadows-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Anasazi Meadows Homes for Sale</a> - <i>3 Listings ~1 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/SkyMountain-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Sky Mountain Homes for Sale</a> - <i>1 Listing ~1 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/FelipeGutierrezGrant-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Felipe Gutierrez Grant Homes for Sale</a> - <i>1 Listing ~2 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/LandsOfMontoyaSilva-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Lands Of Montoya Silva Homes for Sale</a> - <i>1 Listing ~2 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/PlacitasSmallTractsArea-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Placitas Small Tracts Area Homes for Sale</a> - <i>1 Listing ~2 Miles Away</i> </li> <li> <a href="https://albuquerquehomesonline.com/AnasaziTrails-Subdivision" class="text-blue-600 hover:text-blue-800 hover:underline"> Anasazi Trails Homes for Sale</a> - <i>2 Listings ~2 Miles Away</i> </li> </ul> </div> <div> <h3>Quick Facts about Petroglyph Place community</h3> <ul class="space-y-1"> <li>Postal Code: <b>87043</b></li> <li>County: <b>Sandoval</b></li> <li>HOA Fee: <b>$300 Annually</b></li> <li>HOA Fee Includes: <b>Common Areas, Tennis Courts</b></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>