<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Asador - Allegra Homes Vacaciones en Cuernavaca</title>
	<atom:link href="https://vacacionesencuernavaca.com/accommodation-facility/asador/feed/" rel="self" type="application/rss+xml" />
	<link>https://vacacionesencuernavaca.com</link>
	<description>Renta Casas de Fin de Semana en Cuernavaca, Morelos</description>
	<lastBuildDate>Mon, 18 May 2026 16:40:20 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://vacacionesencuernavaca.com/wp-content/uploads/2023/09/cropped-Circulo-Negro-4-150x150.png</url>
	<title>Asador - Allegra Homes Vacaciones en Cuernavaca</title>
	<link>https://vacacionesencuernavaca.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Allegra Suites 9 Habitaciones</title>
		<link>https://vacacionesencuernavaca.com/accommodation/allegra-suites-9-habitaciones/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 17 Apr 2024 10:49:49 +0000</pubDate>
				<guid isPermaLink="false">https://www.vacacionesencuernavaca.com/?post_type=mphb_room_type&#038;p=13220</guid>

					<description><![CDATA[<p>Allegra Homes / Tipos de alojamiento / Allegra Suites Allegra Suites &#124; hospedaje para grupos y bodas en Cuernavaca 9 habitaciones tipo hotel · Dentro de Jardín Allegra 55 · Cuernavaca / Jiutepec, Morelos ▦ Ver todas 9 habitaciones tipo hotel Dentro de Jardín Allegra 55 Ideal para bodas Alberca y jardines Hospedaje para grupos...</p>
<p>The post <a href="https://vacacionesencuernavaca.com/accommodation/allegra-suites-9-habitaciones/">Allegra Suites 9 Habitaciones</a> first appeared on <a href="https://vacacionesencuernavaca.com">Allegra Homes Vacaciones en Cuernavaca</a>.</p>]]></description>
										<content:encoded><![CDATA[<style>
/* ============================
LAYOUT GENERAL PROPIEDAD
============================ */
.ah-property-page {
max-width: 1200px;
margin: 0 auto 3rem;
padding: 1.5rem 1rem;
background: #F8F5F2;
border-radius: 16px;
}
.ah-breadcrumbs {
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #8C7D6C;
margin-bottom: 0.5rem;
}
.ah-property-hero h1,
.ah-property-hero h2 {
font-size: clamp(1.45rem, 2.2vw, 2rem);
line-height: 1.12;
margin: 0 0 0.35rem;
color: #222;
font-weight: 850;
letter-spacing: -0.02em;
}
.ah-property-hero .ah-subtitle {
font-size: 0.9rem;
color: #555;
margin: 0 0 1.2rem;
}
.ah-property-layout {
display: grid;
grid-template-columns: minmax(0, 1.9fr) minmax(0, 1.1fr);
gap: 1.5rem;
}
.ah-property-layout > * { min-width: 0; }
.ah-property-main { min-width: 0; }
@media (max-width: 900px) {
.ah-property-layout { grid-template-columns: 1fr; }
}
.ah-property-main h2 {
font-size: 1.15rem;
margin: 1.4rem 0 0.5rem;
color: #2A2723;
font-weight: 750;
letter-spacing: 0.01em;
}
.ah-property-main p {
font-size: 0.95rem;
line-height: 1.55;
color: #333;
}
.ah-property-main ul {
padding-left: 1.1rem;
margin: 0.1rem 0 0.7rem;
}
.ah-property-main li {
font-size: 0.92rem;
margin-bottom: 0.25rem;
}
.ah-li-lead strong {
font-weight: 800;
color: #2A2723;
}
.ah-property-sidebar {
display: flex;
flex-direction: column;
gap: 1rem;
}
.ah-card {
background: #FFFFFF;
border-radius: 14px;
padding: 1rem 1.1rem;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
}
.ah-card h3 {
margin-top: 0;
margin-bottom: 0.6rem;
font-size: 0.98rem;
color: #2A2723;
font-weight: 750;
}
.ah-card p,
.ah-card ul li {
font-size: 0.9rem;
color: #444;
}
.ah-card ul {
list-style: none;
padding-left: 0;
margin: 0;
}
.ah-card ul li { margin-bottom: 0.3rem; }
.ah-tag {
display: inline-block;
padding: 0.16rem 0.5rem;
border-radius: 999px;
background: #F0E5D5;
color: #6B5A45;
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.06em;
margin-right: 0.3rem;
margin-bottom: 0.3rem;
}
.ah-btn-primary {
display: inline-block !important;
margin-top: 0.6rem;
padding: 0.55rem 1rem;
border-radius: 999px !important;
background: #C9A46D !important;
color: #FFFFFF !important;
text-decoration: none !important;
font-size: 0.9rem;
font-weight: 700 !important;
text-align: center !important;
border: none !important;
cursor: pointer;
line-height: 1.4 !important;
}
.ah-btn-primary:visited,
.ah-btn-primary:link,
.ah-btn-primary:active {
color: #FFFFFF !important;
text-decoration: none !important;
}
.ah-btn-primary:hover { background: #b38f59; }
/* WhatsApp button usa la misma paleta dorada que el resto de botones */
.ah-note {
font-size: 0.8rem;
color: #6B5A45;
margin-top: 0.4rem;
line-height: 1.35;
}
/* HERO GALLERY */
.ah-hero-gallery { margin-bottom: 1.5rem; }
.ah-hero-grid {
display: grid;
grid-template-columns: 2fr 1.4fr;
gap: 4px;
border-radius: 18px;
overflow: hidden;
background: #FFFFFF;
}
.ah-hero-main, .ah-hero-thumb { position: relative; overflow: hidden; }
.ah-hero-main button, .ah-hero-thumb button {
border: none; padding: 0; margin: 0; background: none; cursor: pointer;
display: block; width: 100%; height: 100%;
}
.ah-hero-main img, .ah-hero-thumb img {
width: 100%; height: 100%; display: block;
object-fit: cover; transition: transform 0.4s ease;
}
.ah-hero-main button:hover img, .ah-hero-thumb button:hover img { transform: scale(1.03); }
.ah-hero-right {
display: grid;
grid-template-rows: repeat(2, 1fr);
grid-template-columns: repeat(2, 1fr);
gap: 4px;
}
.ah-hero-showall {
position: absolute;
right: 14px;
bottom: 14px;
width: auto !important;
height: auto !important;
min-height: 44px;
padding: 0.65rem 1.05rem;
border-radius: 999px;
border: none;
background: rgba(0,0,0,0.82);
color: #fff;
font-size: clamp(0.95rem, 2vw, 1.15rem);
font-weight: 800;
cursor: pointer;
display: inline-flex;
align-items: center;
gap: 8px;
text-shadow: 0 1px 3px rgba(0,0,0,0.75);
box-shadow: 0 10px 22px rgba(0,0,0,0.22);
z-index: 5;
}
.ah-hero-showall span { font-size: 1.25em; line-height: 1; }
@media (max-width: 768px) {
.ah-hero-grid { grid-template-columns: 1fr; }
.ah-hero-right { display: none; }
.ah-hero-main { border-radius: 18px; overflow: hidden; }
}
/* RESTRICCIONES */
.ah-restrictions-box {
margin-top: 1rem; padding: 0.9rem 1rem;
background: #FFFFFF; border-radius: 14px;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
border: 1px solid rgba(201,164,109,0.22);
}
.ah-restrictions-box h3 {
margin: 0 0 0.5rem; font-size: 0.98rem;
color: #2A2723; font-weight: 750;
}
.ah-restrictions-box ul { margin: 0; padding-left: 1.15rem; }
.ah-restrictions-box li { margin-bottom: 0.25rem; font-size: 0.9rem; color: #444; }
/* SLIDER ENCLAVE */
.ah-enclave-section {
margin-top: 1.5rem; background: #FFFFFF;
border-radius: 14px; padding: 1rem;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
}
.ah-enclave-head {
display: flex; align-items: flex-end; justify-content: space-between;
gap: 1rem; margin-bottom: 0.75rem;
}
.ah-enclave-head h3 { margin: 0; font-size: 1.05rem; color: #2A2723; font-weight: 800; }
.ah-enclave-head p { margin: 0.25rem 0 0; font-size: 0.9rem; color: #555; }
.ah-enclave-controls { display: flex; gap: 0.5rem; }
.ah-enclave-arrow {
width: 36px; height: 36px; border-radius: 999px; border: none;
background: rgba(0,0,0,0.65); color: #fff; cursor: pointer;
display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem;
}
.ah-enclave-arrow:hover { background: rgba(0,0,0,0.85); }
.ah-enclave-track {
display: flex; gap: 0.8rem; overflow-x: auto;
scroll-snap-type: x mandatory; padding-bottom: 0.25rem;
-webkit-overflow-scrolling: touch;
}
.ah-enclave-card {
flex: 0 0 260px; scroll-snap-align: start;
border-radius: 14px; overflow: hidden;
border: 1px solid rgba(0,0,0,0.06); background: #fff;
box-shadow: 0 8px 18px rgba(0,0,0,0.05);
}
.ah-enclave-card img { width: 100%; height: 155px; object-fit: cover; display: block; }
.ah-enclave-card-body {
padding: 0.75rem 0.8rem 0.9rem;
display: flex;
flex-direction: column;
height: calc(100% - 155px);
}
.ah-enclave-card-body .ah-btn-primary { margin-top: auto !important; }
.ah-enclave-card-title { margin: 0 0 0.35rem; font-weight: 800; font-size: 0.95rem; color: #2A2723; }
.ah-enclave-card-meta { margin: 0 0 0.65rem; font-size: 0.85rem; color: #666; line-height: 1.35; }
.ah-enclave-card .ah-btn-primary {
display: block !important;
width: 100%;
max-width: 100%;
box-sizing: border-box;
margin-top: 0;
padding: 0.55rem 0.9rem;
font-size: 0.88rem;
}
@media (max-width: 768px) {
.ah-enclave-controls { display: none; }
.ah-enclave-card { flex-basis: 78%; }
}
/* LIGHTBOX */
.ah-lightbox {
position: fixed; inset: 0;
background: rgba(255,255,255,0.96);
display: none; align-items: center; justify-content: center; z-index: 9999;
}
.ah-lightbox.is-open { display: flex; }
.ah-lightbox-inner { position: relative; max-width: 1100px; width: 100%; margin: 0 1rem; }
.ah-lightbox-close {
position: absolute; top: 12px; right: 12px;
width: 32px; height: 32px; border-radius: 50%; border: none;
background: rgba(0,0,0,0.65); color: #fff; font-size: 1.2rem;
cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 10;
}
.ah-lightbox-close:hover { background: rgba(0,0,0,0.85); }
.ah-lightbox-frame {
position: relative; background: #FFFFFF; border-radius: 16px;
overflow: hidden; box-shadow: 0 12px 30px rgba(0,0,0,0.18);
max-width: 1100px; width: 100%; min-height: 200px;
max-height: calc(100vh - 120px);
display: flex; align-items: center; justify-content: center;
}
.ah-lightbox-track { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.ah-lightbox-slide { display: none; width: 100%; text-align: center; }
.ah-lightbox-slide.is-active { display: block; }
.ah-lightbox-slide img {
max-width: 100%; max-height: calc(100vh - 160px);
width: auto; height: auto; display: inline-block;
}
.ah-lightbox-arrow {
position: absolute; top: 50%; transform: translateY(-50%);
width: 38px; height: 38px; border-radius: 50%; border: none;
background: rgba(0,0,0,0.65); color: #fff;
display: flex; align-items: center; justify-content: center;
cursor: pointer; font-size: 1.3rem; z-index: 5;
}
.ah-lightbox-arrow--prev { left: 10px; }
.ah-lightbox-arrow--next { right: 10px; }
.ah-lightbox-arrow:hover { background: rgba(0,0,0,0.85); }
@media (max-width: 600px) {
.ah-lightbox-inner { margin: 0 0.5rem; }
.ah-lightbox-arrow { width: 32px; height: 32px; font-size: 1.1rem; }
}

/* ============================
MOTOPRESS CARDS — V2 VACACIONES EN CUERNAVACA
============================ */
.ah-property-page .mphb_sc_booking_form-wrapper,
.ah-property-page .mphb-booking-form-wrapper,
.ah-property-page .mphb-calendar-wrapper {
max-width: 100%;
}
.ah-mp-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin-top: 1rem;
}
@media (max-width: 768px) {
.ah-mp-row { grid-template-columns: 1fr; }
}
.ah-mp-card {
background: #FFFFFF;
border-radius: 14px;
padding: 1rem 1.1rem 1.2rem;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
margin-top: 1rem;
}
.ah-mp-card h3 {
margin: 0 0 0.8rem;
font-size: 1.05rem;
color: #2A2723;
font-weight: 800;
padding-bottom: 0.5rem;
border-bottom: 2px solid #C9A46D;
}
.ah-mp-card-price {
background: linear-gradient(135deg, #C9A46D 0%, #b38f59 100%);
color: #1F1C18;
border-radius: 14px;
padding: 1rem 1.1rem;
margin-top: 1rem;
box-shadow: 0 6px 16px rgba(201,164,109,0.25);
}
.ah-mp-card-price h3 {
margin: 0 0 0.3rem;
font-size: 0.78rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #1F1C18 !important;
font-weight: 800;
border: none;
padding-bottom: 0;
}
.ah-mp-card-price .ah-mp-price-amount {
font-size: 1.8rem;
font-weight: 800;
line-height: 1.1;
color: #1F1C18;
}
.ah-mp-card-price .ah-mp-price-note {
font-size: 0.85rem;
color: #3a342d;
margin-top: 0.2rem;
font-weight: 600;
}
.ah-mp-slot { min-height: 1px; }

/* OCULTAR titulares originales de MotoPress (los reemplazamos por h3 Allegra) */
.ah-mp-slot h2.mphb-details-title,
.ah-mp-slot h2.mphb-calendar-title,
.ah-mp-slot h2.mphb-reservation-form-title {
display: none !important;
}

/* OCULTAR el precio duplicado de MotoPress (lo subimos a su propio card) */
.ah-mp-slot > p.mphb-regular-price {
display: none !important;
}

/* Estilizar la lista de atributos */
.ah-mp-slot ul.mphb-single-room-type-attributes {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 0.6rem;
}
.ah-mp-slot ul.mphb-single-room-type-attributes li {
padding: 0.5rem 0;
border-bottom: 1px solid #F0E5D5;
font-size: 0.9rem;
color: #444;
}
.ah-mp-slot ul.mphb-single-room-type-attributes li:last-child {
border-bottom: none;
}
.ah-mp-slot .mphb-attribute-title {
display: inline-block;
font-weight: 800;
color: #2A2723;
min-width: 110px;
margin-right: 0.5rem;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.03em;
}
.ah-mp-slot .mphb-attribute-value {
color: #555;
}
.ah-mp-slot .mphb-attribute-value a {
color: #C9A46D;
text-decoration: none;
font-weight: 600;
}
.ah-mp-slot .mphb-attribute-value a:hover {
text-decoration: underline;
}

/* Calendario MotoPress dentro del card */
.ah-mp-slot .mphb-calendar,
.ah-mp-slot .mphb-datepick,
.ah-mp-slot .inlinePicker {
width: 100% !important;
max-width: 100%;
}
.ah-mp-slot .mphb-calendar table { width: 100% !important; }

/* Form de reserva — inputs y labels Allegra */
.ah-mp-slot form.mphb-booking-form {
margin: 0;
}
.ah-mp-slot form.mphb-booking-form p {
margin: 0 0 0.8rem;
}
.ah-mp-slot form.mphb-booking-form label {
display: block;
font-weight: 800;
color: #2A2723;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.03em;
margin-bottom: 0.3rem;
}
.ah-mp-slot form.mphb-booking-form input[type="text"],
.ah-mp-slot form.mphb-booking-form input[type="number"],
.ah-mp-slot form.mphb-booking-form select {
width: 100%;
padding: 0.55rem 0.7rem;
border: 1px solid #E3DCD2;
border-radius: 10px;
font-size: 0.95rem;
color: #2A2723;
background: #FFFFFF;
box-sizing: border-box;
}
.ah-mp-slot form.mphb-booking-form input[type="text"]:focus,
.ah-mp-slot form.mphb-booking-form select:focus {
outline: none;
border-color: #C9A46D;
box-shadow: 0 0 0 3px rgba(201,164,109,0.15);
}
.ah-mp-slot form.mphb-booking-form abbr {
color: #C9A46D;
border: none;
text-decoration: none;
margin-left: 0.2rem;
}
.ah-mp-slot form.mphb-booking-form .mphb-required-fields-tip {
font-size: 0.75rem;
color: #8C7D6C;
margin-bottom: 1rem;
}
.ah-mp-slot form.mphb-booking-form input[type="submit"],
.ah-mp-slot form.mphb-booking-form .mphb-button,
.ah-mp-slot form.mphb-booking-form .mphb-reserve-btn {
display: inline-block !important;
padding: 0.7rem 1.4rem !important;
border-radius: 999px !important;
background: #C9A46D !important;
color: #FFFFFF !important;
text-decoration: none !important;
font-size: 0.95rem !important;
font-weight: 800 !important;
text-align: center !important;
border: none !important;
cursor: pointer !important;
width: 100% !important;
margin-top: 0.5rem !important;
text-transform: uppercase !important;
letter-spacing: 0.05em !important;
transition: background 0.2s ease !important;
-webkit-appearance: none !important;
-webkit-text-fill-color: #FFFFFF !important;
}
.ah-mp-slot form.mphb-booking-form input[type="submit"]:hover,
.ah-mp-slot form.mphb-booking-form .mphb-button:hover,
.ah-mp-slot form.mphb-booking-form .mphb-reserve-btn:hover {
background: #b38f59;
}
.ah-mp-slot form.mphb-booking-form .mphb-period-price strong {
display: block;
font-size: 0.85rem;
color: #8C7D6C;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 0.3rem;
font-weight: 700;
}
.ah-mp-slot form.mphb-booking-form .mphb-rooms-quantity-wrapper {
padding: 0.7rem 0.9rem;
background: #F8F5F2;
border-radius: 10px;
font-size: 0.88rem;
color: #555;
}
.ah-mp-slot form.mphb-booking-form .mphb-errors-wrapper {
background: #fdecea;
border: 1px solid #f5c6cb;
border-radius: 10px;
padding: 0.7rem 0.9rem;
color: #721c24;
font-size: 0.85rem;
margin: 0.8rem 0;
}
</style>

<div class="ah-property-page" id="ah-allegra-suites">
<div class="ah-breadcrumbs">Allegra Homes / Tipos de alojamiento / <strong>Allegra Suites</strong></div>
<header class="ah-property-hero">
<h1>Allegra Suites | hospedaje para grupos y bodas en Cuernavaca</h1>
<p class="ah-subtitle">9 habitaciones tipo hotel · Dentro de Jardín Allegra 55 · Cuernavaca / Jiutepec, Morelos</p>
</header>

<!-- HERO GALLERY -->
<section class="ah-hero-gallery">
<div class="ah-hero-grid">
<div class="ah-hero-main">
<button aria-label="Abrir galería de Allegra Suites" class="js-ah-open-gallery-as" data-index="0" type="button">
<img alt="Vista del área exterior de Allegra Suites con alberca, puente decorativo y espacios para eventos rodeados de vegetación." class="ah-lcp" decoding="async" fetchpriority="high" height="800" loading="eager" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Allegra-Suites-foto-1-1200x800-1.jpg" width="1200"/>
</button>
<button class="ah-hero-showall js-ah-open-gallery-as" data-index="0" type="button"><span>▦</span> Ver todas</button>
</div>
<div class="ah-hero-right">
<div class="ah-hero-thumb"><button aria-label="Abrir foto 2" class="js-ah-open-gallery-as" data-index="1" type="button"><img alt="Área exterior de Allegra Suites con alberca, jardines y habitaciones tipo hotel para grupos." decoding="async" fetchpriority="low" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Allegra-Suites-foto-2-1200x800-1.jpg" width="1200"/></button></div>
<div class="ah-hero-thumb"><button aria-label="Abrir foto 3" class="js-ah-open-gallery-as" data-index="2" type="button"><img alt="Allegra Suites con áreas verdes, alberca y ambiente ideal para hospedaje de invitados." decoding="async" fetchpriority="low" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Allegra-Suites-foto-3-1200x800-1.jpg" width="1200"/></button></div>
<div class="ah-hero-thumb"><button aria-label="Abrir foto 4" class="js-ah-open-gallery-as" data-index="3" type="button"><img alt="Habitación tipo hotel en Allegra Suites, ideal para invitados de boda y grupos." decoding="async" fetchpriority="low" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Allegra-Suites-foto-4-1200x800-1.jpg" width="1200"/></button></div>
<div class="ah-hero-thumb"><button aria-label="Abrir foto 5" class="js-ah-open-gallery-as" data-index="4" type="button"><img alt="Habitación de Allegra Suites con cama cómoda, baño privado y ambiente práctico para fin de semana." decoding="async" fetchpriority="low" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Allegra-Suites-foto-5-1200x800-1.jpg" width="1200"/></button></div>
</div>
</div>
</section>

<section class="ah-property-layout">
<main class="ah-property-main">
<div>
<span class="ah-tag">9 habitaciones tipo hotel</span>
<span class="ah-tag">Dentro de Jardín Allegra 55</span>
<span class="ah-tag">Ideal para bodas</span>
<span class="ah-tag">Alberca y jardines</span>
<span class="ah-tag">Hospedaje para grupos</span>
</div>

<h2>Descripción</h2>
<p><strong>Allegra Suites</strong> es la opción más práctica para hospedar invitados dentro del ecosistema de <strong>Jardín Allegra 55</strong>. Cuenta con 9 habitaciones tipo hotel, áreas exteriores con alberca y una ubicación especialmente conveniente para bodas, grupos familiares y celebraciones de fin de semana.</p>
<p>Es ideal cuando quieres que tus invitados estén cerca del evento, sin depender de traslados largos ni logística complicada. Para bodas en Jardín Allegra 55, Allegra Suites funciona como una extensión natural del evento: los huéspedes pueden descansar, arreglarse y convivir dentro del mismo entorno.</p>
<p>También puede combinarse con las casas de <strong>Allegra Homes</strong> para grupos más grandes que necesitan hospedaje adicional, privacidad y una operación más ordenada.</p>

<h2>Lo más destacado</h2>
<ul>
<li class="ah-li-lead"><strong>9 habitaciones tipo hotel:</strong> opción ideal para hospedar invitados, familiares o grupos de boda.</li>
<li class="ah-li-lead"><strong>Ubicación estratégica:</strong> dentro de Jardín Allegra 55, muy conveniente para eventos y celebraciones.</li>
<li class="ah-li-lead"><strong>Alberca y áreas exteriores:</strong> espacios agradables para convivir y descansar durante el fin de semana.</li>
<li class="ah-li-lead"><strong>Perfecto para complementar casas:</strong> suma Allegra Suites a una o varias casas de Allegra Homes para ampliar capacidad.</li>
<li class="ah-li-lead"><strong>Operación práctica:</strong> ideal para grupos que buscan cercanía, comodidad y logística sencilla.</li>
</ul>

<h2>Distribución y amenidades</h2>
<ul>
<li class="ah-li-lead"><strong>9 habitaciones:</strong> habitaciones tipo hotel para hospedaje de invitados.</li>
<li class="ah-li-lead"><strong>Baños privados:</strong> distribución pensada para grupos y estancias de fin de semana.</li>
<li class="ah-li-lead"><strong>Alberca:</strong> espacio exterior para relajarse y convivir.</li>
<li class="ah-li-lead"><strong>Jardines:</strong> entorno agradable dentro del recinto de Jardín Allegra 55.</li>
<li class="ah-li-lead"><strong>Ideal para bodas:</strong> especialmente útil para novios, familia cercana e invitados prioritarios.</li>
<li class="ah-li-lead"><strong>Complemento de Allegra Homes:</strong> se puede combinar con casas cercanas para alojar grupos grandes.</li>
</ul>

<h2>Experiencia Allegra</h2>
<p>Allegra Suites funciona muy bien como base de hospedaje para bodas y eventos en Jardín Allegra 55. Si tu grupo necesita más capacidad, podemos combinarlo con casas cercanas de Allegra Homes y armar una experiencia completa de fin de semana: hospedaje, taco night, brunch, after en PRIVE y logística para invitados.</p>

<section aria-label="Completa tus vacaciones" class="ah-enclave-section">
<div class="ah-enclave-head"><div><h3>Completa tus vacaciones</h3><p>Agrega una casa de fin de semana para ampliar capacidad y dar más privacidad al grupo.</p></div>
<div class="ah-enclave-controls"><button aria-label="Anterior" class="ah-enclave-arrow" data-enclave-prev type="button">‹</button><button aria-label="Siguiente" class="ah-enclave-arrow" data-enclave-next type="button">›</button></div></div>
<div class="ah-enclave-track" data-enclave-track>
<article class="ah-enclave-card"><img alt="Jardín en Villa Las Fuentes con alberca, camastros bajo sombrillas y vegetación tropical junto a muro amarillo." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-foto-1-1200x-800.jpg" width="1200"/><div class="ah-enclave-card-body"><div class="ah-enclave-card-title">Villa Las Fuentes</div><div class="ah-enclave-card-meta">Casa icónica con alberca, jardín y gran área social.</div><a class="ah-btn-primary" href="/accommodation/villa-las-fuentes/">Ver propiedad</a></div></article>
<article class="ah-enclave-card"><img alt="Área exterior en Pedregal 20 con alberca rectangular, camastros verdes, palmeras y terraza techada." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-1.jpg" width="1200"/><div class="ah-enclave-card-body"><div class="ah-enclave-card-title">Pedregal 20</div><div class="ah-enclave-card-meta">Gran jardín y alberca; ideal para reuniones íntimas.</div><a class="ah-btn-primary" href="/accommodation/pedregal-20/">Ver propiedad</a></div></article>
<article class="ah-enclave-card"><img alt="Área exterior en Eucalipto 26 con alberca, jardín y fachada trasera de la casa." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-foto-1-1200x-800.jpg" width="1200"/><div class="ah-enclave-card-body"><div class="ah-enclave-card-title">Eucalipto 26</div><div class="ah-enclave-card-meta">Casa moderna, muy amplia; excelente para familias.</div><a class="ah-btn-primary" href="/accommodation/eucalipto-26/">Ver propiedad</a></div></article>
<article class="ah-enclave-card"><img alt="Jardín en Villas Eucalipto con alberca, camastros, sombrillas y vegetación tropical junto a muro amarillo." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villas-Eucalipto-1200-x-800-foto-1.jpg" width="1200"/><div class="ah-enclave-card-body"><div class="ah-enclave-card-title">Villas Eucalipto</div><div class="ah-enclave-card-meta">Opción ideal para dos familias o grupos.</div><a class="ah-btn-primary" href="/accommodation/villas-eucalipto/">Ver propiedad</a></div></article>
<article class="ah-enclave-card"><img alt="Área exterior en Las Fuentes 34-A con alberca decorada, camastros y vegetación tropical." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Las-Fuentes-34-A-Foto-1-1200x-800-1.jpg" width="1200"/><div class="ah-enclave-card-body"><div class="ah-enclave-card-title">Las Fuentes 34-A</div><div class="ah-enclave-card-meta">Casa boutique con alberca y terraza techada.</div><a class="ah-btn-primary" href="/accommodation/las-fuentes-34/">Ver propiedad</a></div></article>
</div><div class="ah-note" style="margin-top:0.6rem;">Si quieres, te armamos la mejor combinación según # de personas, fechas y presupuesto.</div>
</section>

<!-- MOTOR DE RESERVAS MOTOPRESS -->
<div class="ah-mp-card-price" id="ah-mp-card-price"><h3>Precio desde</h3><div class="ah-mp-price-amount" id="ah-mp-price-slot">$2,000 MXN</div><div class="ah-mp-price-note">El sistema calcula el total final al seleccionar fechas</div></div>
<div class="ah-mp-card" id="ah-mp-card-details"><h3>Detalles de la propiedad</h3><div class="ah-mp-slot" id="ah-mp-details-slot"></div></div>
<div class="ah-mp-card" id="ah-mp-card-calendar"><h3>Disponibilidad</h3><div class="ah-mp-slot" id="ah-mp-calendar-slot"></div></div>
<div class="ah-mp-card" id="ah-mp-card-form"><h3>Reserva tu estancia</h3><div class="ah-mp-slot" id="ah-mp-form-slot"></div></div>

<div class="ah-restrictions-box" id="ah-restricciones-allegra-suites"><h3>Restricciones clave (resumen)</h3><ul><li>No se aceptan mascotas.</li><li>No se permiten fiestas o eventos públicos dentro de las habitaciones.</li><li>Prohibido fumar dentro de habitaciones.</li><li>Prohibidos fuegos pirotécnicos, bengalas o cualquier artefacto con fuego/chispas.</li><li>Prohibidas armas de fuego y estupefacientes.</li></ul><div class="ah-note">Este es un resumen informativo. Las condiciones completas se confirman en el contrato de hospedaje.</div></div>
</main>

<aside class="ah-property-sidebar">
<div class="ah-card"><h3>Reserva &amp; pagos</h3><ul><li><strong>Anticipo:</strong> 50% para apartar</li><li><strong>Liquidación:</strong> 50% restante 1 semana antes</li><li><strong>Identificación:</strong> INE (frente y vuelta) + comprobante de domicilio</li><li><strong>Correo:</strong> electrónico del titular</li></ul><div class="ah-note">En fechas de alta demanda pueden aplicar mínimos de noches e incrementos por temporada.</div></div>
<div class="ah-card"><h3>Política de cancelación (resumen)</h3><ul><li><strong>Más de 8 semanas antes:</strong> devolución del 50% del depósito de reservación</li><li><strong>Menos de 8 semanas:</strong> no hay devoluciones</li></ul><div class="ah-note">Se calcula contra la fecha de entrada. El detalle final se confirma en el contrato firmado.</div></div>
<div class="ah-card"><h3>Restricciones (mini resumen)</h3><ul><li>No mascotas</li><li>No fiestas/eventos públicos en habitaciones</li><li>No fumar dentro</li><li>No bocinas tipo fiesta / rockolas</li><li>No pirotecnia / bengalas</li></ul><div class="ah-note">La violación de reglas puede implicar cancelación inmediata sin reembolso (según contrato).</div></div>
<div class="ah-card"><h3>Check-in / Check-out</h3><ul><li><strong>Check-in:</strong> 3:00 pm a 9:00 pm</li><li><strong>Check-out:</strong> 12:00 pm</li><li><strong>Temporada alta:</strong> horarios pueden ajustarse</li><li><strong>Early / late:</strong> sujeto a disponibilidad</li></ul></div>
<div class="ah-card"><h3>Grupos grandes o bodas</h3><p style="margin:0 0 0.5rem;">Si necesitas hospedaje para invitados de boda, varias habitaciones o combinar Suites con casas Allegra, escríbenos directo.</p><a class="ah-btn-primary" href="https://wa.me/5215585318601?text=Hola%2C%20me%20interesa%20Allegra%20Suites%20y%20quiero%20cotizar%20hospedaje%20para%20un%20grupo%20o%20boda." rel="noopener" target="_blank">Cotizar por WhatsApp</a><div class="ah-note">Recomendado para bodas, grupos y hospedaje de invitados.</div></div>
</aside>
</section>
</div>

<!-- LIGHTBOX -->
<div class="ah-lightbox" id="ahLightboxAS" aria-hidden="true">
  <div class="ah-lightbox-inner" role="dialog" aria-modal="true" aria-label="Galería Allegra Suites">
    <button type="button" class="ah-lightbox-close" id="ahLbCloseAS" aria-label="Cerrar">×</button>
    <div class="ah-lightbox-frame">
      <button type="button" class="ah-lightbox-arrow ah-lightbox-arrow--prev" id="ahLbPrevAS" aria-label="Anterior">‹</button>
      <div class="ah-lightbox-track" id="ahLbTrackAS"></div>
      <button type="button" class="ah-lightbox-arrow ah-lightbox-arrow--next" id="ahLbNextAS" aria-label="Siguiente">›</button>
    </div>
  </div>
</div>

<script>
(function() {
  const gallery = [
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Allegra-Suites-foto-1-1200x800-1.jpg", alt: "Vista del área exterior de Allegra Suites con alberca, puente decorativo y espacios para eventos rodeados de vegetación." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Allegra-Suites-foto-2-1200x800-1.jpg", alt: "Área exterior de Allegra Suites con alberca, jardines y habitaciones tipo hotel para grupos." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Allegra-Suites-foto-3-1200x800-1.jpg", alt: "Allegra Suites con áreas verdes, alberca y ambiente ideal para hospedaje de invitados." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Allegra-Suites-foto-4-1200x800-1.jpg", alt: "Habitación tipo hotel en Allegra Suites, ideal para invitados de boda y grupos." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Allegra-Suites-foto-5-1200x800-1.jpg", alt: "Habitación de Allegra Suites con cama cómoda, baño privado y ambiente práctico para fin de semana." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Allegra-Suites-foto-6-1200x800-1.jpg", alt: "Habitación y amenidades de Allegra Suites para hospedaje cómodo en Cuernavaca." }
  ];

  const root = document.getElementById("ah-allegra-suites");
  const lightbox = document.getElementById("ahLightboxAS");
  const track = document.getElementById("ahLbTrackAS");
  const btnClose = document.getElementById("ahLbCloseAS");
  const btnPrev = document.getElementById("ahLbPrevAS");
  const btnNext = document.getElementById("ahLbNextAS");
  let current = 0;

  function renderSlides() {
    track.innerHTML = "";
    gallery.forEach((item, idx) => {
      const slide = document.createElement("div");
      slide.className = "ah-lightbox-slide" + (idx === current ? " is-active" : "");
      slide.setAttribute("data-idx", idx);
      const img = document.createElement("img");
      img.src = item.src;
      img.alt = item.alt;
      img.loading = "eager";
      img.decoding = "async";
      slide.appendChild(img);
      track.appendChild(slide);
    });
  }

  function setActive(index) {
    current = (index + gallery.length) % gallery.length;
    track.querySelectorAll(".ah-lightbox-slide").forEach(s => s.classList.remove("is-active"));
    const active = track.querySelector('.ah-lightbox-slide[data-idx="' + current + '"]');
    if (active) active.classList.add("is-active");
  }

  function openLightbox(index) {
    current = Number(index) || 0;
    renderSlides();
    lightbox.classList.add("is-open");
    lightbox.setAttribute("aria-hidden", "false");
    setActive(current);
    document.body.style.overflow = "hidden";
  }

  function closeLightbox() {
    lightbox.classList.remove("is-open");
    lightbox.setAttribute("aria-hidden", "true");
    document.body.style.overflow = "";
  }

  (root ? root.querySelectorAll(".js-ah-open-gallery-as") : []).forEach(btn => {
    btn.addEventListener("click", () => openLightbox(btn.getAttribute("data-index")));
  });
  if (btnClose) btnClose.addEventListener("click", closeLightbox);
  if (lightbox) lightbox.addEventListener("click", (e) => { if (e.target === lightbox) closeLightbox(); });
  if (btnPrev) btnPrev.addEventListener("click", () => setActive(current - 1));
  if (btnNext) btnNext.addEventListener("click", () => setActive(current + 1));
  document.addEventListener("keydown", (e) => {
    if (!lightbox || !lightbox.classList.contains("is-open")) return;
    if (e.key === "Escape") closeLightbox();
    if (e.key === "ArrowLeft") setActive(current - 1);
    if (e.key === "ArrowRight") setActive(current + 1);
  });

  const track2 = document.querySelector("#ah-allegra-suites [data-enclave-track]");
  const prev = document.querySelector("#ah-allegra-suites [data-enclave-prev]");
  const next = document.querySelector("#ah-allegra-suites [data-enclave-next]");
  function scrollByCard(dir) {
    if (!track2) return;
    const card = track2.querySelector(".ah-enclave-card");
    const step = card ? (card.getBoundingClientRect().width + 13) : 280;
    track2.scrollBy({ left: dir * step, behavior: "smooth" });
  }
  if (prev) prev.addEventListener("click", () => scrollByCard(-1));
  if (next) next.addEventListener("click", () => scrollByCard(1));

  function getMPSourceRoot() {
    const candidates = [
      document.querySelector(".mphb_room_type .entry-content.single-content"),
      document.querySelector(".mphb_room_type .entry-content"),
      document.querySelector("article.mphb_room_type .entry-content"),
      document.querySelector(".entry-content")
    ].filter(Boolean);
    return candidates.find(el =>
      el.querySelector("ul.mphb-single-room-type-attributes, p.mphb-regular-price, div.mphb-calendar, form.mphb-booking-form, form.mphb-booking-form--direct-booking")
    ) || null;
  }

  function cleanPriceText(text) {
    return (text || "").replace(/s+/g, " ").replace(/MXNs*MXN/gi, "MXN").trim();
  }

  function relocateMP() {
    const entry = getMPSourceRoot();
    if (!entry) return false;

    const detailsSlot = document.getElementById("ah-mp-details-slot");
    const calendarSlot = document.getElementById("ah-mp-calendar-slot");
    const formSlot = document.getElementById("ah-mp-form-slot");
    const priceSlot = document.getElementById("ah-mp-price-slot");

    const detailsTitle = entry.querySelector("h2.mphb-details-title");
    const attrs = entry.querySelector("ul.mphb-single-room-type-attributes");
    const priceP = entry.querySelector("p.mphb-regular-price");
    const calTitle = entry.querySelector("h2.mphb-calendar-title");
    const calendar = entry.querySelector("div.mphb-calendar");
    const formTitle = entry.querySelector("h2.mphb-reservation-form-title");
    const form = entry.querySelector("form.mphb-booking-form--direct-booking") || entry.querySelector("form.mphb-booking-form");

    if (attrs && detailsSlot && !detailsSlot.contains(attrs)) detailsSlot.appendChild(attrs);
    if (calendar && calendarSlot && !calendarSlot.contains(calendar)) calendarSlot.appendChild(calendar);
    if (form && formSlot && !formSlot.contains(form)) formSlot.appendChild(form);

    if (priceP && priceSlot) {
      const priceSpan = priceP.querySelector(".mphb-price");
      const currencySpan = priceP.querySelector(".mphb-currency");
      let finalPriceText = "";

      if (priceSpan) {
        let currency = currencySpan ? currencySpan.textContent.trim() : "$";
        let amount = priceSpan.textContent.replace(currency, "").trim();
        finalPriceText = cleanPriceText(currency + " " + amount + " MXN");
      } else {
        finalPriceText = cleanPriceText(priceP.textContent);
      }

      if (/d/.test(finalPriceText)) {
        priceSlot.textContent = finalPriceText.replace(/^precios+desdes*:?s*/i, "");
      } else {
        priceSlot.textContent = "$2,000 MXN";
      }
      priceP.remove();
    } else if (priceSlot && !/d/.test(priceSlot.textContent || "")) {
      priceSlot.textContent = "$2,000 MXN";
    }

    if (detailsTitle) detailsTitle.remove();
    if (calTitle) calTitle.remove();
    if (formTitle) formTitle.remove();

    const forms = Array.from(entry.querySelectorAll("form.mphb-booking-form, form.mphb-booking-form--direct-booking"));
    if (forms.length > 1 && formSlot) {
      forms.forEach(f => { if (!formSlot.contains(f)) f.remove(); });
    }

    [["ah-mp-card-details", detailsSlot], ["ah-mp-card-calendar", calendarSlot], ["ah-mp-card-form", formSlot]].forEach(([cardId, slot]) => {
      const card = document.getElementById(cardId);
      if (card && slot && !slot.children.length) card.style.display = "none";
      if (card && slot && slot.children.length) card.style.display = "";
    });
    return true;
  }

  function initMotoPressRelocation() {
    let attempts = 0;
    const maxAttempts = 20;
    const timer = window.setInterval(() => {
      attempts++;
      const moved = relocateMP();
      if (moved || attempts >= maxAttempts) window.clearInterval(timer);
    }, 250);
    const observer = new MutationObserver(() => relocateMP());
    observer.observe(document.body, { childList: true, subtree: true });
    window.setTimeout(() => observer.disconnect(), 8000);
  }

  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", initMotoPressRelocation);
  } else {
    initMotoPressRelocation();
  }
})();
</script><p>The post <a href="https://vacacionesencuernavaca.com/accommodation/allegra-suites-9-habitaciones/">Allegra Suites 9 Habitaciones</a> first appeared on <a href="https://vacacionesencuernavaca.com">Allegra Homes Vacaciones en Cuernavaca</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Eucalipto 26</title>
		<link>https://vacacionesencuernavaca.com/accommodation/eucalipto-26/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 08 May 2020 02:32:53 +0000</pubDate>
				<guid isPermaLink="false">https://www.vacacionesencuernavaca.com/?post_type=mphb_room_type&#038;p=862</guid>

					<description><![CDATA[<p>Preciosa casa de fin de semana en Cuernavaca, Morelos. 2 Suites Gigantes (50m2), Alberca con caldera (gas costo adicional), jardín enorme, terraza</p>
<p>The post <a href="https://vacacionesencuernavaca.com/accommodation/eucalipto-26/">Eucalipto 26</a> first appeared on <a href="https://vacacionesencuernavaca.com">Allegra Homes Vacaciones en Cuernavaca</a>.</p>]]></description>
										<content:encoded><![CDATA[<style>
/* ============================
LAYOUT GENERAL PROPIEDAD
============================ */
.ah-property-page {
max-width: 1200px;
margin: 0 auto 3rem;
padding: 1.5rem 1rem;
background: #F8F5F2;
border-radius: 16px;
}
.ah-breadcrumbs {
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #8C7D6C;
margin-bottom: 0.5rem;
}
.ah-property-hero h1,
.ah-property-hero h2 {
font-size: clamp(1.45rem, 2.2vw, 2rem);
line-height: 1.12;
margin: 0 0 0.35rem;
color: #222;
font-weight: 850;
letter-spacing: -0.02em;
}
.ah-property-hero .ah-subtitle {
font-size: 0.9rem;
color: #555;
margin: 0 0 1.2rem;
}
.ah-property-layout {
display: grid;
grid-template-columns: minmax(0, 1.9fr) minmax(0, 1.1fr);
gap: 1.5rem;
}
.ah-property-layout > * { min-width: 0; }
.ah-property-main { min-width: 0; }
@media (max-width: 900px) {
.ah-property-layout { grid-template-columns: 1fr; }
}
.ah-property-main h2 {
font-size: 1.15rem;
margin: 1.4rem 0 0.5rem;
color: #2A2723;
font-weight: 750;
letter-spacing: 0.01em;
}
.ah-property-main p {
font-size: 0.95rem;
line-height: 1.55;
color: #333;
}
.ah-property-main ul {
padding-left: 1.1rem;
margin: 0.1rem 0 0.7rem;
}
.ah-property-main li {
font-size: 0.92rem;
margin-bottom: 0.25rem;
}
.ah-li-lead strong {
font-weight: 800;
color: #2A2723;
}
.ah-property-sidebar {
display: flex;
flex-direction: column;
gap: 1rem;
}
.ah-card {
background: #FFFFFF;
border-radius: 14px;
padding: 1rem 1.1rem;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
}
.ah-card h3 {
margin-top: 0;
margin-bottom: 0.6rem;
font-size: 0.98rem;
color: #2A2723;
font-weight: 750;
}
.ah-card p,
.ah-card ul li {
font-size: 0.9rem;
color: #444;
}
.ah-card ul {
list-style: none;
padding-left: 0;
margin: 0;
}
.ah-card ul li { margin-bottom: 0.3rem; }
.ah-tag {
display: inline-block;
padding: 0.16rem 0.5rem;
border-radius: 999px;
background: #F0E5D5;
color: #6B5A45;
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.06em;
margin-right: 0.3rem;
margin-bottom: 0.3rem;
}
.ah-btn-primary {
display: inline-block !important;
margin-top: 0.6rem;
padding: 0.55rem 1rem;
border-radius: 999px !important;
background: #C9A46D !important;
color: #FFFFFF !important;
text-decoration: none !important;
font-size: 0.9rem;
font-weight: 700 !important;
text-align: center !important;
border: none !important;
cursor: pointer;
line-height: 1.4 !important;
}
.ah-btn-primary:visited,
.ah-btn-primary:link,
.ah-btn-primary:active {
color: #FFFFFF !important;
text-decoration: none !important;
}
.ah-btn-primary:hover { background: #b38f59; }
/* WhatsApp button usa la misma paleta dorada que el resto de botones */
.ah-note {
font-size: 0.8rem;
color: #6B5A45;
margin-top: 0.4rem;
line-height: 1.35;
}
/* HERO GALLERY */
.ah-hero-gallery { margin-bottom: 1.5rem; }
.ah-hero-grid {
display: grid;
grid-template-columns: 2fr 1.4fr;
gap: 4px;
border-radius: 18px;
overflow: hidden;
background: #FFFFFF;
}
.ah-hero-main, .ah-hero-thumb { position: relative; overflow: hidden; }
.ah-hero-main button, .ah-hero-thumb button {
border: none; padding: 0; margin: 0; background: none; cursor: pointer;
display: block; width: 100%; height: 100%;
}
.ah-hero-main img, .ah-hero-thumb img {
width: 100%; height: 100%; display: block;
object-fit: cover; transition: transform 0.4s ease;
}
.ah-hero-main button:hover img, .ah-hero-thumb button:hover img { transform: scale(1.03); }
.ah-hero-right {
display: grid;
grid-template-rows: repeat(2, 1fr);
grid-template-columns: repeat(2, 1fr);
gap: 4px;
}
.ah-hero-showall {
position: absolute;
right: 14px;
bottom: 14px;
width: auto !important;
height: auto !important;
min-height: 44px;
padding: 0.65rem 1.05rem;
border-radius: 999px;
border: none;
background: rgba(0,0,0,0.82);
color: #fff;
font-size: clamp(0.95rem, 2vw, 1.15rem);
font-weight: 800;
cursor: pointer;
display: inline-flex;
align-items: center;
gap: 8px;
text-shadow: 0 1px 3px rgba(0,0,0,0.75);
box-shadow: 0 10px 22px rgba(0,0,0,0.22);
z-index: 5;
}
.ah-hero-showall span { font-size: 1.25em; line-height: 1; }
@media (max-width: 768px) {
.ah-hero-grid { grid-template-columns: 1fr; }
.ah-hero-right { display: none; }
.ah-hero-main { border-radius: 18px; overflow: hidden; }
}
/* RESTRICCIONES */
.ah-restrictions-box {
margin-top: 1rem; padding: 0.9rem 1rem;
background: #FFFFFF; border-radius: 14px;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
border: 1px solid rgba(201,164,109,0.22);
}
.ah-restrictions-box h3 {
margin: 0 0 0.5rem; font-size: 0.98rem;
color: #2A2723; font-weight: 750;
}
.ah-restrictions-box ul { margin: 0; padding-left: 1.15rem; }
.ah-restrictions-box li { margin-bottom: 0.25rem; font-size: 0.9rem; color: #444; }
/* SLIDER ENCLAVE */
.ah-enclave-section {
margin-top: 1.5rem; background: #FFFFFF;
border-radius: 14px; padding: 1rem;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
}
.ah-enclave-head {
display: flex; align-items: flex-end; justify-content: space-between;
gap: 1rem; margin-bottom: 0.75rem;
}
.ah-enclave-head h3 { margin: 0; font-size: 1.05rem; color: #2A2723; font-weight: 800; }
.ah-enclave-head p { margin: 0.25rem 0 0; font-size: 0.9rem; color: #555; }
.ah-enclave-controls { display: flex; gap: 0.5rem; }
.ah-enclave-arrow {
width: 36px; height: 36px; border-radius: 999px; border: none;
background: rgba(0,0,0,0.65); color: #fff; cursor: pointer;
display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem;
}
.ah-enclave-arrow:hover { background: rgba(0,0,0,0.85); }
.ah-enclave-track {
display: flex; gap: 0.8rem; overflow-x: auto;
scroll-snap-type: x mandatory; padding-bottom: 0.25rem;
-webkit-overflow-scrolling: touch;
}
.ah-enclave-card {
flex: 0 0 260px; scroll-snap-align: start;
border-radius: 14px; overflow: hidden;
border: 1px solid rgba(0,0,0,0.06); background: #fff;
box-shadow: 0 8px 18px rgba(0,0,0,0.05);
}
.ah-enclave-card img { width: 100%; height: 155px; object-fit: cover; display: block; }
.ah-enclave-card-body {
padding: 0.75rem 0.8rem 0.9rem;
display: flex;
flex-direction: column;
height: calc(100% - 155px);
}
.ah-enclave-card-body .ah-btn-primary { margin-top: auto !important; }
.ah-enclave-card-title { margin: 0 0 0.35rem; font-weight: 800; font-size: 0.95rem; color: #2A2723; }
.ah-enclave-card-meta { margin: 0 0 0.65rem; font-size: 0.85rem; color: #666; line-height: 1.35; }
.ah-enclave-card .ah-btn-primary {
display: block !important;
width: 100%;
max-width: 100%;
box-sizing: border-box;
margin-top: 0;
padding: 0.55rem 0.9rem;
font-size: 0.88rem;
}
@media (max-width: 768px) {
.ah-enclave-controls { display: none; }
.ah-enclave-card { flex-basis: 78%; }
}
/* LIGHTBOX */
.ah-lightbox {
position: fixed; inset: 0;
background: rgba(255,255,255,0.96);
display: none; align-items: center; justify-content: center; z-index: 9999;
}
.ah-lightbox.is-open { display: flex; }
.ah-lightbox-inner { position: relative; max-width: 1100px; width: 100%; margin: 0 1rem; }
.ah-lightbox-close {
position: absolute; top: 12px; right: 12px;
width: 32px; height: 32px; border-radius: 50%; border: none;
background: rgba(0,0,0,0.65); color: #fff; font-size: 1.2rem;
cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 10;
}
.ah-lightbox-close:hover { background: rgba(0,0,0,0.85); }
.ah-lightbox-frame {
position: relative; background: #FFFFFF; border-radius: 16px;
overflow: hidden; box-shadow: 0 12px 30px rgba(0,0,0,0.18);
max-width: 1100px; width: 100%; min-height: 200px;
max-height: calc(100vh - 120px);
display: flex; align-items: center; justify-content: center;
}
.ah-lightbox-track { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.ah-lightbox-slide { display: none; width: 100%; text-align: center; }
.ah-lightbox-slide.is-active { display: block; }
.ah-lightbox-slide img {
max-width: 100%; max-height: calc(100vh - 160px);
width: auto; height: auto; display: inline-block;
}
.ah-lightbox-arrow {
position: absolute; top: 50%; transform: translateY(-50%);
width: 38px; height: 38px; border-radius: 50%; border: none;
background: rgba(0,0,0,0.65); color: #fff;
display: flex; align-items: center; justify-content: center;
cursor: pointer; font-size: 1.3rem; z-index: 5;
}
.ah-lightbox-arrow--prev { left: 10px; }
.ah-lightbox-arrow--next { right: 10px; }
.ah-lightbox-arrow:hover { background: rgba(0,0,0,0.85); }
@media (max-width: 600px) {
.ah-lightbox-inner { margin: 0 0.5rem; }
.ah-lightbox-arrow { width: 32px; height: 32px; font-size: 1.1rem; }
}

/* ============================
MOTOPRESS CARDS — V2 VACACIONES EN CUERNAVACA
============================ */
.ah-property-page .mphb_sc_booking_form-wrapper,
.ah-property-page .mphb-booking-form-wrapper,
.ah-property-page .mphb-calendar-wrapper {
max-width: 100%;
}
.ah-mp-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin-top: 1rem;
}
@media (max-width: 768px) {
.ah-mp-row { grid-template-columns: 1fr; }
}
.ah-mp-card {
background: #FFFFFF;
border-radius: 14px;
padding: 1rem 1.1rem 1.2rem;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
margin-top: 1rem;
}
.ah-mp-card h3 {
margin: 0 0 0.8rem;
font-size: 1.05rem;
color: #2A2723;
font-weight: 800;
padding-bottom: 0.5rem;
border-bottom: 2px solid #C9A46D;
}
.ah-mp-card-price {
background: linear-gradient(135deg, #C9A46D 0%, #b38f59 100%);
color: #1F1C18;
border-radius: 14px;
padding: 1rem 1.1rem;
margin-top: 1rem;
box-shadow: 0 6px 16px rgba(201,164,109,0.25);
}
.ah-mp-card-price h3 {
margin: 0 0 0.3rem;
font-size: 0.78rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #1F1C18 !important;
font-weight: 800;
border: none;
padding-bottom: 0;
}
.ah-mp-card-price .ah-mp-price-amount {
font-size: 1.8rem;
font-weight: 800;
line-height: 1.1;
color: #1F1C18;
}
.ah-mp-card-price .ah-mp-price-note {
font-size: 0.85rem;
color: #3a342d;
margin-top: 0.2rem;
font-weight: 600;
}
.ah-mp-slot { min-height: 1px; }

/* OCULTAR titulares originales de MotoPress (los reemplazamos por h3 Allegra) */
.ah-mp-slot h2.mphb-details-title,
.ah-mp-slot h2.mphb-calendar-title,
.ah-mp-slot h2.mphb-reservation-form-title {
display: none !important;
}

/* OCULTAR el precio duplicado de MotoPress (lo subimos a su propio card) */
.ah-mp-slot > p.mphb-regular-price {
display: none !important;
}

/* Estilizar la lista de atributos */
.ah-mp-slot ul.mphb-single-room-type-attributes {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 0.6rem;
}
.ah-mp-slot ul.mphb-single-room-type-attributes li {
padding: 0.5rem 0;
border-bottom: 1px solid #F0E5D5;
font-size: 0.9rem;
color: #444;
}
.ah-mp-slot ul.mphb-single-room-type-attributes li:last-child {
border-bottom: none;
}
.ah-mp-slot .mphb-attribute-title {
display: inline-block;
font-weight: 800;
color: #2A2723;
min-width: 110px;
margin-right: 0.5rem;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.03em;
}
.ah-mp-slot .mphb-attribute-value {
color: #555;
}
.ah-mp-slot .mphb-attribute-value a {
color: #C9A46D;
text-decoration: none;
font-weight: 600;
}
.ah-mp-slot .mphb-attribute-value a:hover {
text-decoration: underline;
}

/* Calendario MotoPress dentro del card */
.ah-mp-slot .mphb-calendar,
.ah-mp-slot .mphb-datepick,
.ah-mp-slot .inlinePicker {
width: 100% !important;
max-width: 100%;
}
.ah-mp-slot .mphb-calendar table { width: 100% !important; }

/* Form de reserva — inputs y labels Allegra */
.ah-mp-slot form.mphb-booking-form {
margin: 0;
}
.ah-mp-slot form.mphb-booking-form p {
margin: 0 0 0.8rem;
}
.ah-mp-slot form.mphb-booking-form label {
display: block;
font-weight: 800;
color: #2A2723;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.03em;
margin-bottom: 0.3rem;
}
.ah-mp-slot form.mphb-booking-form input[type="text"],
.ah-mp-slot form.mphb-booking-form input[type="number"],
.ah-mp-slot form.mphb-booking-form select {
width: 100%;
padding: 0.55rem 0.7rem;
border: 1px solid #E3DCD2;
border-radius: 10px;
font-size: 0.95rem;
color: #2A2723;
background: #FFFFFF;
box-sizing: border-box;
}
.ah-mp-slot form.mphb-booking-form input[type="text"]:focus,
.ah-mp-slot form.mphb-booking-form select:focus {
outline: none;
border-color: #C9A46D;
box-shadow: 0 0 0 3px rgba(201,164,109,0.15);
}
.ah-mp-slot form.mphb-booking-form abbr {
color: #C9A46D;
border: none;
text-decoration: none;
margin-left: 0.2rem;
}
.ah-mp-slot form.mphb-booking-form .mphb-required-fields-tip {
font-size: 0.75rem;
color: #8C7D6C;
margin-bottom: 1rem;
}
.ah-mp-slot form.mphb-booking-form input[type="submit"],
.ah-mp-slot form.mphb-booking-form .mphb-button,
.ah-mp-slot form.mphb-booking-form .mphb-reserve-btn {
display: inline-block !important;
padding: 0.7rem 1.4rem !important;
border-radius: 999px !important;
background: #C9A46D !important;
color: #FFFFFF !important;
text-decoration: none !important;
font-size: 0.95rem !important;
font-weight: 800 !important;
text-align: center !important;
border: none !important;
cursor: pointer !important;
width: 100% !important;
margin-top: 0.5rem !important;
text-transform: uppercase !important;
letter-spacing: 0.05em !important;
transition: background 0.2s ease !important;
-webkit-appearance: none !important;
-webkit-text-fill-color: #FFFFFF !important;
}
.ah-mp-slot form.mphb-booking-form input[type="submit"]:hover,
.ah-mp-slot form.mphb-booking-form .mphb-button:hover,
.ah-mp-slot form.mphb-booking-form .mphb-reserve-btn:hover {
background: #b38f59;
}
.ah-mp-slot form.mphb-booking-form .mphb-period-price strong {
display: block;
font-size: 0.85rem;
color: #8C7D6C;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 0.3rem;
font-weight: 700;
}
.ah-mp-slot form.mphb-booking-form .mphb-rooms-quantity-wrapper {
padding: 0.7rem 0.9rem;
background: #F8F5F2;
border-radius: 10px;
font-size: 0.88rem;
color: #555;
}
.ah-mp-slot form.mphb-booking-form .mphb-errors-wrapper {
background: #fdecea;
border: 1px solid #f5c6cb;
border-radius: 10px;
padding: 0.7rem 0.9rem;
color: #721c24;
font-size: 0.85rem;
margin: 0.8rem 0;
}
</style>

<div class="ah-property-page" id="ah-eucalipto-26">
<div class="ah-breadcrumbs">Allegra Homes / Tipos de alojamiento / <strong>Eucalipto 26</strong></div>
<header class="ah-property-hero">
<h1>Eucalipto 26 | casa de fin de semana en Cuernavaca</h1>
<p class="ah-subtitle">Casa de Fin de Semana · Pedregal de las Fuentes · Cuernavaca, Morelos</p>

</header>
<!-- HERO GALLERY -->
<section class="ah-hero-gallery">
<div class="ah-hero-grid">
<div class="ah-hero-main">
<button aria-label="Abrir galería de Eucalipto 26" class="js-ah-open-gallery-e26" data-index="0" type="button">
<img alt="Área exterior en Eucalipto 26 con alberca, jardín y fachada trasera de la casa." class="ah-lcp" decoding="async" fetchpriority="high" height="800" loading="eager" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-foto-1-1200x-800.jpg" width="1200"/>
</button>
<button class="ah-hero-showall js-ah-open-gallery-e26" data-index="0" type="button">
<span>▦</span> Ver todas
        </button>
</div>
<div class="ah-hero-right">
<div class="ah-hero-thumb">
<button aria-label="Abrir foto 2" class="js-ah-open-gallery-e26" data-index="1" type="button">
<img alt="Área exterior en Eucalipto 26 con alberca, camastros, sombrillas y jardín privado." decoding="async" fetchpriority="low" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-1200-x-800-foto-2.jpg" width="1200"/>
</button>
</div>
<div class="ah-hero-thumb">
<button aria-label="Abrir foto 3" class="js-ah-open-gallery-e26" data-index="2" type="button">
<img alt="Área exterior en Eucalipto 26 con alberca, mesita bajo sombrilla y vegetación tropical." decoding="async" fetchpriority="low" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-1200-x-800-foto-3.jpg" width="1200"/>
</button>
</div>
<div class="ah-hero-thumb">
<button aria-label="Abrir foto 4" class="js-ah-open-gallery-e26" data-index="3" type="button">
<img alt="Recámara en Eucalipto 26 con dos camas matrimoniales, acceso al jardín y decoración moderna." decoding="async" fetchpriority="low" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-1200-x-800-foto-4.jpg" width="1200"/>
</button>
</div>
<div class="ah-hero-thumb">
<button aria-label="Abrir foto 5" class="js-ah-open-gallery-e26" data-index="4" type="button">
<img alt="Recámara en Eucalipto 26 con dos camas matrimoniales, cabecera acolchada y tocador al fondo." decoding="async" fetchpriority="low" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-1200-x-800-foto-5.jpg" width="1200"/>
</button>
</div>
</div>
</div>
</section>
<section class="ah-property-layout">
<!-- MAIN -->
<main class="ah-property-main">
<div>
<span class="ah-tag">Hermosa casa fin de semana</span>
<span class="ah-tag">Alberca con caldera</span>
<span class="ah-tag">Jardín privado</span>
<span class="ah-tag">Ideal familias con niños pequeños</span>
<span class="ah-tag">Jardín enorme</span>
</div>
<h2>Descripción</h2>
<p>
<strong>Eucalipto 26</strong> es una casa moderna y amplia dentro del <strong>Casas juntas Allegra</strong>, diseñada para fines de semana en familia y grupos que quieren convivir en un mismo espacio con alberca, jardín enorme y áreas sociales cómodas. Ubicada en <strong>Pedregal de las Fuentes, Cuernavaca</strong>, ofrece privacidad, comodidad y un ambiente relajado en un terreno de 1,000 m².
</p>
<p>
  Con capacidad para <strong>hasta 8 personas</strong> en dos suites gigantes, es ideal para familias que buscan una casa con alberca y espacios amplios para disfrutar juntos.
</p>
<p>
  Si necesitas más capacidad, Eucalipto 26 funciona increíble como <strong>base</strong> del grupo y se potencia al sumar otra casa del conjunto o <strong>Allegra Suites</strong>, permitiendo alojar a todos dentro del mismo ecosistema.
</p>
<h2>Lo más destacado</h2>
<ul>
<li class="ah-li-lead"><strong>Hasta 8 personas:</strong> en 2 suites gigantes + espacio para colchones inflables.</li>
<li class="ah-li-lead"><strong>Exterior para convivir:</strong> alberca con caldera + jardín enorme, ideal para días de sol y descanso.</li>
<li class="ah-li-lead"><strong>Habitaciones cómodas:</strong> recámaras amplias, perfectas para familias y amigos.</li>
<li class="ah-li-lead"><strong>Casa práctica:</strong> cocina y áreas sociales listas para fin de semana.</li>
<li class="ah-li-lead"><strong>Casas juntas Allegra:</strong> opción ideal para combinar con villas vecinas (grupo grande).</li>
<li class="ah-li-lead"><strong>Alberca con caldera gas:</strong> mantenimiento coordina con la compañía de gas y el huésped carga lo que gusta. El gas de la casa esta incluído, el gas de la alberca es opcional con costo por separado.</li>
</ul>
<h2>Distribución y amenidades</h2>
<ul>
<li class="ah-li-lead"><strong>Alberca y jardín enorme:</strong> áreas exteriores privadas para relajarse y convivir.</li>
<li class="ah-li-lead"><strong>Recámaras amplias:</strong> excelente configuración para familias (camas dobles).</li>
<li class="ah-li-lead"><strong>Suite 1:</strong> dos camas matrimoniales, aire acondicionado, smart tv y baño propio.</li>
<li class="ah-li-lead"><strong>Suite 2:</strong> dos camas matrimoniales, aire acondicionado, smart tv y baño propio.</li>
<li class="ah-li-lead"><strong>Suite enormes:</strong> a pesar de tener solo dos habitaciones, son tan grandes que caben colchones inflables dentro de cada suite.</li>
<li class="ah-li-lead"><strong>Cocina equipada:</strong> lista para estancias de fin de semana.</li>
<li class="ah-li-lead"><strong>Áreas interiores:</strong> sala/comedor cómodos para el grupo.</li>
</ul>
<h2>Experiencia Casas juntas Allegra</h2>
<p>
        Si tu plan es venir en grupo, Eucalipto 26 funciona increíble como “base” y se potencia al sumar otra casa (o varias)
        a 1 minuto. Te armamos la mejor combinación según el tamaño de tu grupo y tu presupuesto (hospedaje + experiencias).
      </p>
<!-- DISPONIBILIDAD -->
<section aria-label="Completa tus vacaciones" class="ah-enclave-section">
<div class="ah-enclave-head">
<div>
<h3>Completa tus vacaciones</h3>
<p>Agrega otra propiedad para expandir capacidad y tener a todos juntos.</p>
</div>
<div class="ah-enclave-controls">
<button aria-label="Anterior" class="ah-enclave-arrow" data-enclave-prev="" type="button">‹</button>
<button aria-label="Siguiente" class="ah-enclave-arrow" data-enclave-next="" type="button">›</button>
</div>
</div>
<div class="ah-enclave-track" data-enclave-track="">
<article class="ah-enclave-card">
<img alt="Jardín en Villa Las Fuentes con alberca, camastros bajo sombrillas y vegetación tropical junto a muro amarillo." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-foto-1-1200x-800.jpg" width="1200"/>
<div class="ah-enclave-card-body">
<div class="ah-enclave-card-title">Villa Las Fuentes</div>
<div class="ah-enclave-card-meta">Casa icónica con alberca, jardín y gran área social.</div>
<a class="ah-btn-primary" href="/accommodation/villa-las-fuentes/">Ver propiedad</a>
</div>
</article>
<article class="ah-enclave-card">
<img alt="Área exterior en Las Fuentes 34-A con alberca decorada, camastros y vegetación tropical." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Las-Fuentes-34-A-Foto-1-1200x-800-1.jpg" width="1200"/>
<div class="ah-enclave-card-body">
<div class="ah-enclave-card-title">Las Fuentes 34-A</div>
<div class="ah-enclave-card-meta">Casa boutique acogedora, ideal para grupos pequeños.</div>
<a class="ah-btn-primary" href="/accommodation/las-fuentes-34/">Ver propiedad</a>
</div>
</article>
<article class="ah-enclave-card">
<img alt="Jardín en Villas Eucalipto con alberca, camastros, sombrillas y vegetación tropical junto a muro amarillo." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villas-Eucalipto-1200-x-800-foto-1.jpg" width="1200"/>
<div class="ah-enclave-card-body">
<div class="ah-enclave-card-title">Villas Eucalipto</div>
<div class="ah-enclave-card-meta">Opción ideal para grupos; alberca + jardín en el conjunto.</div>
<a class="ah-btn-primary" href="/accommodation/villas-eucalipto/">Ver propiedad</a>
</div>
</article>
<article class="ah-enclave-card">
<img alt="Área exterior en Pedregal 20 con alberca rectangular, camastros verdes, palmeras y terraza techada." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-1.jpg" width="1200"/>
<div class="ah-enclave-card-body">
<div class="ah-enclave-card-title">Pedregal 20</div>
<div class="ah-enclave-card-meta">Casa ancla para convivencias; alberca + terraza techada.</div>
<a class="ah-btn-primary" href="/accommodation/pedregal-20/">Ver propiedad</a>
</div>
</article>
<article class="ah-enclave-card">
<img alt="Vista del área exterior de Allegra Suites con alberca, puente decorativo y espacios para eventos rodeados de vegetación." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Allegra-Suites-foto-1-1200x800-1.jpg" width="1200"/>
<div class="ah-enclave-card-body">
<div class="ah-enclave-card-title">Allegra Suites</div>
<div class="ah-enclave-card-meta">9 habitaciones dentro de Jardín Allegra 55 (ideal para bodas).</div>
<a class="ah-btn-primary" href="/accommodation/allegra-suites-9-habitaciones/">Ver propiedad</a>
</div>
</article>
</div>
<div class="ah-note" style="margin-top:0.6rem;">
            Si quieres, te armamos la mejor combinación según # de personas y presupuesto.
          </div>
</section><!-- MOTOR DE RESERVAS MOTOPRESS --><div class="ah-mp-card-price" id="ah-mp-card-price">
<h3>Precio desde</h3>
<div class="ah-mp-price-amount" id="ah-mp-price-slot">—</div>
<div class="ah-mp-price-note">El sistema calcula el total final al seleccionar fechas</div>
</div><div class="ah-mp-card" id="ah-mp-card-details">
<h3>Detalles de la propiedad</h3>
<div class="ah-mp-slot" id="ah-mp-details-slot"></div>
</div><div class="ah-mp-card" id="ah-mp-card-calendar">
<h3>Disponibilidad</h3>
<div class="ah-mp-slot" id="ah-mp-calendar-slot"></div>
</div><div class="ah-mp-card" id="ah-mp-card-form">
<h3>Reserva tu estancia</h3>
<div class="ah-mp-slot" id="ah-mp-form-slot"></div>
</div><div class="ah-restrictions-box" id="ah-restricciones-eucalipto-26">
<h3>Restricciones clave (resumen)</h3>
<ul>
<li>No se aceptan mascotas.</li>
<li>No se permiten fiestas o eventos públicos dentro de la propiedad.</li>
<li>Prohibido fumar dentro (solo áreas permitidas al exterior).</li>
<li>Prohibidos fuegos pirotécnicos, bengalas o cualquier artefacto con fuego/chispas.</li>
<li>Prohibidas armas de fuego y estupefacientes.</li>
</ul>
<div class="ah-note">
            Este es un resumen informativo. Las condiciones completas se confirman en el contrato de hospedaje.
          </div>
</div>
</main>
<!-- SIDEBAR -->
<aside class="ah-property-sidebar">
<div class="ah-card">
<h3>Reserva &amp; pagos</h3>
<ul>
<li><strong>Anticipo:</strong> 50% para apartar</li>
<li><strong>Liquidación:</strong> 50% restante 1 semana antes</li>
<li><strong>Identificación:</strong> INE (frente y vuelta) + comprobante de domicilio</li>
<li><strong>Correo:</strong> electrónico del titular</li>
</ul>
<div class="ah-note">
          En fechas de alta demanda pueden aplicar mínimos de noches e incrementos por temporada.
        </div>
</div>
<div class="ah-card">
<h3>Política de cancelación (resumen)</h3>
<ul>
<li><strong>Más de 8 semanas antes:</strong> devolución del 50% del depósito de reservación</li>
<li><strong>Menos de 8 semanas:</strong> no hay devoluciones</li>
</ul>
<div class="ah-note">
          Se calcula contra la fecha de entrada. El detalle final se confirma en el contrato firmado.
        </div>
</div>
<div class="ah-card">
<h3>Restricciones (mini resumen)</h3>
<ul>
<li>No mascotas</li>
<li>No fiestas/eventos públicos</li>
<li>No fumar dentro</li>
<li>No bocinas tipo fiesta / rockolas</li>
<li>No pirotecnia / bengalas</li>
</ul>
<div class="ah-note">
          La violación de reglas puede implicar cancelación inmediata sin reembolso (según contrato).
        </div>
</div>
<div class="ah-card">
<h3>Check-in / Check-out</h3>
<ul>
<li><strong>Check-in:</strong> 3:00 pm a 9:00 pm</li>
<li><strong>Check-out:</strong> 12:00 pm</li>
<li><strong>Temporada alta:</strong> horarios pueden ajustarse</li>
<li><strong>Early / late:</strong> sujeto a disponibilidad</li>
</ul>
</div>
<div class="ah-card">
<h3>Grupos grandes o bodas</h3>
<p style="margin:0 0 0.5rem;">Si necesitas más de una casa, paquetes con experiencias (taco night, brunch, after en PRIVE), o ayuda para coordinar fechas, escríbenos directo.</p>
<a class="ah-btn-primary" href="https://wa.me/5215585318601?text=Hola%2C%20me%20interesa%20Eucalipto%2026%20y%20quiero%20cotizar%20un%20grupo%20o%20paquete%20especial." rel="noopener" target="_blank">Cotizar por WhatsApp</a>
<div class="ah-note">Recomendado para familias, grupos y celebraciones.</div>
</div>
</aside>
</section>
</div>

<!-- LIGHTBOX -->
<div class="ah-lightbox" id="ahLightboxE26" aria-hidden="true">
  <div class="ah-lightbox-inner" role="dialog" aria-modal="true" aria-label="Galería Eucalipto 26">
    <button type="button" class="ah-lightbox-close" id="ahLbCloseE26" aria-label="Cerrar">×</button>

    <div class="ah-lightbox-frame">
      <button type="button" class="ah-lightbox-arrow ah-lightbox-arrow--prev" id="ahLbPrevE26" aria-label="Anterior">‹</button>
      <div class="ah-lightbox-track" id="ahLbTrackE26"></div>
      <button type="button" class="ah-lightbox-arrow ah-lightbox-arrow--next" id="ahLbNextE26" aria-label="Siguiente">›</button>
    </div>
  </div>
</div>


<script>
(function() {
  const gallery = [
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-foto-1-1200x-800.jpg", alt: "Área exterior en Eucalipto 26 con alberca, jardín y fachada trasera de la casa." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-1200-x-800-foto-2.jpg", alt: "Área exterior en Eucalipto 26 con alberca, camastros, sombrillas y jardín privado." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-1200-x-800-foto-3.jpg", alt: "Área exterior en Eucalipto 26 con alberca, mesita bajo sombrilla y vegetación tropical." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-1200-x-800-foto-4.jpg", alt: "Recámara en Eucalipto 26 con dos camas matrimoniales, acceso al jardín y decoración moderna." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-1200-x-800-foto-5.jpg", alt: "Recámara en Eucalipto 26 con dos camas matrimoniales, cabecera acolchada y tocador al fondo." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-1200-x-800-foto-6.jpg", alt: "Cocina en Eucalipto 26 con alacenas oscuras, comedor de cristal y electrodomésticos integrados." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-1200-x-800-foto-7.jpg", alt: "Sala en Eucalipto 26 con muebles de mimbre, televisión y acceso al comedor." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-1200-x-800-foto-8.jpg", alt: "Baño en Eucalipto 26 con lavabo moderno, espejo rectangular y acabados en mármol beige." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-1200-x-800-foto-9.jpg", alt: "Área exterior en Eucalipto 26 con alberca, terraza techada y vegetación decorativa." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-1200-x-800-foto-10.jpg", alt: "Área exterior en Eucalipto 26 con alberca, camastros, sombrillas y jardín amplio." }
  ];

  const root = document.getElementById("ah-eucalipto-26");
  const lightbox = document.getElementById("ahLightboxE26");
  const track = document.getElementById("ahLbTrackE26");
  const btnClose = document.getElementById("ahLbCloseE26");
  const btnPrev = document.getElementById("ahLbPrevE26");
  const btnNext = document.getElementById("ahLbNextE26");
  let current = 0;

  function renderSlides() {
    track.innerHTML = "";
    gallery.forEach((item, idx) => {
      const slide = document.createElement("div");
      slide.className = "ah-lightbox-slide" + (idx === current ? " is-active" : "");
      slide.setAttribute("data-idx", idx);
      const img = document.createElement("img");
      img.src = item.src;
      img.alt = item.alt;
      img.loading = "eager";
      img.decoding = "async";
      slide.appendChild(img);
      track.appendChild(slide);
    });
  }

  function setActive(index) {
    current = (index + gallery.length) % gallery.length;
    track.querySelectorAll(".ah-lightbox-slide").forEach(s => s.classList.remove("is-active"));
    const active = track.querySelector('.ah-lightbox-slide[data-idx="' + current + '"]');
    if (active) active.classList.add("is-active");
  }

  function openLightbox(index) {
    current = Number(index) || 0;
    renderSlides();
    lightbox.classList.add("is-open");
    lightbox.setAttribute("aria-hidden", "false");
    setActive(current);
    document.body.style.overflow = "hidden";
  }

  function closeLightbox() {
    lightbox.classList.remove("is-open");
    lightbox.setAttribute("aria-hidden", "true");
    document.body.style.overflow = "";
  }

  (root ? root.querySelectorAll(".js-ah-open-gallery-e26") : []).forEach(btn => {
    btn.addEventListener("click", () => openLightbox(btn.getAttribute("data-index")));
  });
  if (btnClose) btnClose.addEventListener("click", closeLightbox);
  if (lightbox) lightbox.addEventListener("click", (e) => { if (e.target === lightbox) closeLightbox(); });
  if (btnPrev) btnPrev.addEventListener("click", () => setActive(current - 1));
  if (btnNext) btnNext.addEventListener("click", () => setActive(current + 1));
  document.addEventListener("keydown", (e) => {
    if (!lightbox || !lightbox.classList.contains("is-open")) return;
    if (e.key === "Escape") closeLightbox();
    if (e.key === "ArrowLeft") setActive(current - 1);
    if (e.key === "ArrowRight") setActive(current + 1);
  });

  const track2 = document.querySelector("#ah-eucalipto-26 [data-enclave-track]");
  const prev = document.querySelector("#ah-eucalipto-26 [data-enclave-prev]");
  const next = document.querySelector("#ah-eucalipto-26 [data-enclave-next]");
  function scrollByCard(dir) {
    if (!track2) return;
    const card = track2.querySelector(".ah-enclave-card");
    const step = card ? (card.getBoundingClientRect().width + 13) : 280;
    track2.scrollBy({ left: dir * step, behavior: "smooth" });
  }
  if (prev) prev.addEventListener("click", () => scrollByCard(-1));
  if (next) next.addEventListener("click", () => scrollByCard(1));

  function getMPSourceRoot() {
    const candidates = [
      document.querySelector(".mphb_room_type .entry-content.single-content"),
      document.querySelector(".mphb_room_type .entry-content"),
      document.querySelector("article.mphb_room_type .entry-content"),
      document.querySelector(".entry-content")
    ].filter(Boolean);
    return candidates.find(el =>
      el.querySelector("ul.mphb-single-room-type-attributes, p.mphb-regular-price, div.mphb-calendar, form.mphb-booking-form, form.mphb-booking-form--direct-booking")
    ) || null;
  }

  function cleanPriceText(text) {
    return (text || "").replace(/s+/g, " ").replace(/MXNs*MXN/gi, "MXN").trim();
  }

  function relocateMP() {
    const entry = getMPSourceRoot();
    if (!entry) return false;

    const detailsSlot = document.getElementById("ah-mp-details-slot");
    const calendarSlot = document.getElementById("ah-mp-calendar-slot");
    const formSlot = document.getElementById("ah-mp-form-slot");
    const priceSlot = document.getElementById("ah-mp-price-slot");

    const detailsTitle = entry.querySelector("h2.mphb-details-title");
    const attrs = entry.querySelector("ul.mphb-single-room-type-attributes");
    const priceP = entry.querySelector("p.mphb-regular-price");
    const calTitle = entry.querySelector("h2.mphb-calendar-title");
    const calendar = entry.querySelector("div.mphb-calendar");
    const formTitle = entry.querySelector("h2.mphb-reservation-form-title");
    const form = entry.querySelector("form.mphb-booking-form--direct-booking") || entry.querySelector("form.mphb-booking-form");

    if (attrs && detailsSlot && !detailsSlot.contains(attrs)) detailsSlot.appendChild(attrs);
    if (calendar && calendarSlot && !calendarSlot.contains(calendar)) calendarSlot.appendChild(calendar);
    if (form && formSlot && !formSlot.contains(form)) formSlot.appendChild(form);

    if (priceP && priceSlot) {
      const priceSpan = priceP.querySelector(".mphb-price");
      const currencySpan = priceP.querySelector(".mphb-currency");
      let finalPriceText = "";

      if (priceSpan) {
        let currency = currencySpan ? currencySpan.textContent.trim() : "$";
        let amount = priceSpan.textContent.replace(currency, "").trim();
        finalPriceText = cleanPriceText(currency + " " + amount + " MXN");
      } else {
        finalPriceText = cleanPriceText(priceP.textContent);
      }

      /*
        Si MotoPress imprime solo la etiqueta "Precio desde:" pero no trae monto,
        no la copiamos al card. Esto pasa cuando el tipo de alojamiento aún no tiene
        una tarifa/precio regular asignado o cuando el precio se calcula únicamente
        después de seleccionar fechas.
      */
      if (/d/.test(finalPriceText)) {
        priceSlot.textContent = finalPriceText.replace(/^precios+desdes*:?s*/i, "");
      } else {
        priceSlot.textContent = "Selecciona fechas";
      }
      priceP.remove();
    }

    if (detailsTitle) detailsTitle.remove();
    if (calTitle) calTitle.remove();
    if (formTitle) formTitle.remove();

    const forms = Array.from(entry.querySelectorAll("form.mphb-booking-form, form.mphb-booking-form--direct-booking"));
    if (forms.length > 1 && formSlot) {
      forms.forEach(f => { if (!formSlot.contains(f)) f.remove(); });
    }

    [["ah-mp-card-details", detailsSlot], ["ah-mp-card-calendar", calendarSlot], ["ah-mp-card-form", formSlot]].forEach(([cardId, slot]) => {
      const card = document.getElementById(cardId);
      if (card && slot && !slot.children.length) card.style.display = "none";
      if (card && slot && slot.children.length) card.style.display = "";
    });
    return true;
  }

  function initMotoPressRelocation() {
    let attempts = 0;
    const maxAttempts = 20;
    const timer = window.setInterval(() => {
      attempts++;
      const moved = relocateMP();
      if (moved || attempts >= maxAttempts) window.clearInterval(timer);
    }, 250);
    const observer = new MutationObserver(() => relocateMP());
    observer.observe(document.body, { childList: true, subtree: true });
    window.setTimeout(() => observer.disconnect(), 8000);
  }

  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", initMotoPressRelocation);
  } else {
    initMotoPressRelocation();
  }
})();
</script><p>The post <a href="https://vacacionesencuernavaca.com/accommodation/eucalipto-26/">Eucalipto 26</a> first appeared on <a href="https://vacacionesencuernavaca.com">Allegra Homes Vacaciones en Cuernavaca</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Villas Eucalipto</title>
		<link>https://vacacionesencuernavaca.com/accommodation/villas-eucalipto/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 08 May 2020 02:22:16 +0000</pubDate>
				<guid isPermaLink="false">https://www.vacacionesencuernavaca.com/?post_type=mphb_room_type&#038;p=853</guid>

					<description><![CDATA[<p>Villas Eucalipto - Hermosa casa de fin de semana en Cuernavaca, Morelos. 4 Recámaras / 3 Baños, Alberca c/ caldera, Asador para parrillada, Estacionamiento p/ 3 autos</p>
<p>The post <a href="https://vacacionesencuernavaca.com/accommodation/villas-eucalipto/">Villas Eucalipto</a> first appeared on <a href="https://vacacionesencuernavaca.com">Allegra Homes Vacaciones en Cuernavaca</a>.</p>]]></description>
										<content:encoded><![CDATA[<style>
/* ============================
LAYOUT GENERAL PROPIEDAD
============================ */
.ah-property-page {
max-width: 1200px;
margin: 0 auto 3rem;
padding: 1.5rem 1rem;
background: #F8F5F2;
border-radius: 16px;
}
.ah-breadcrumbs {
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #8C7D6C;
margin-bottom: 0.5rem;
}
.ah-property-hero h1,
.ah-property-hero h2 {
font-size: clamp(1.45rem, 2.2vw, 2rem);
line-height: 1.12;
margin: 0 0 0.35rem;
color: #222;
font-weight: 850;
letter-spacing: -0.02em;
}
.ah-property-hero .ah-subtitle {
font-size: 0.9rem;
color: #555;
margin: 0 0 1.2rem;
}
.ah-property-layout {
display: grid;
grid-template-columns: minmax(0, 1.9fr) minmax(0, 1.1fr);
gap: 1.5rem;
}
.ah-property-layout > * { min-width: 0; }
.ah-property-main { min-width: 0; }
@media (max-width: 900px) {
.ah-property-layout { grid-template-columns: 1fr; }
}
.ah-property-main h2 {
font-size: 1.15rem;
margin: 1.4rem 0 0.5rem;
color: #2A2723;
font-weight: 750;
letter-spacing: 0.01em;
}
.ah-property-main p {
font-size: 0.95rem;
line-height: 1.55;
color: #333;
}
.ah-property-main ul {
padding-left: 1.1rem;
margin: 0.1rem 0 0.7rem;
}
.ah-property-main li {
font-size: 0.92rem;
margin-bottom: 0.25rem;
}
.ah-li-lead strong {
font-weight: 800;
color: #2A2723;
}
.ah-property-sidebar {
display: flex;
flex-direction: column;
gap: 1rem;
}
.ah-card {
background: #FFFFFF;
border-radius: 14px;
padding: 1rem 1.1rem;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
}
.ah-card h3 {
margin-top: 0;
margin-bottom: 0.6rem;
font-size: 0.98rem;
color: #2A2723;
font-weight: 750;
}
.ah-card p,
.ah-card ul li {
font-size: 0.9rem;
color: #444;
}
.ah-card ul {
list-style: none;
padding-left: 0;
margin: 0;
}
.ah-card ul li { margin-bottom: 0.3rem; }
.ah-tag {
display: inline-block;
padding: 0.16rem 0.5rem;
border-radius: 999px;
background: #F0E5D5;
color: #6B5A45;
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.06em;
margin-right: 0.3rem;
margin-bottom: 0.3rem;
}
.ah-btn-primary {
display: inline-block !important;
margin-top: 0.6rem;
padding: 0.55rem 1rem;
border-radius: 999px !important;
background: #C9A46D !important;
color: #FFFFFF !important;
text-decoration: none !important;
font-size: 0.9rem;
font-weight: 700 !important;
text-align: center !important;
border: none !important;
cursor: pointer;
line-height: 1.4 !important;
}
.ah-btn-primary:visited,
.ah-btn-primary:link,
.ah-btn-primary:active {
color: #FFFFFF !important;
text-decoration: none !important;
}
.ah-btn-primary:hover { background: #b38f59; }
/* WhatsApp button usa la misma paleta dorada que el resto de botones */
.ah-note {
font-size: 0.8rem;
color: #6B5A45;
margin-top: 0.4rem;
line-height: 1.35;
}
/* HERO GALLERY */
.ah-hero-gallery { margin-bottom: 1.5rem; }
.ah-hero-grid {
display: grid;
grid-template-columns: 2fr 1.4fr;
gap: 4px;
border-radius: 18px;
overflow: hidden;
background: #FFFFFF;
}
.ah-hero-main, .ah-hero-thumb { position: relative; overflow: hidden; }
.ah-hero-main button, .ah-hero-thumb button {
border: none; padding: 0; margin: 0; background: none; cursor: pointer;
display: block; width: 100%; height: 100%;
}
.ah-hero-main img, .ah-hero-thumb img {
width: 100%; height: 100%; display: block;
object-fit: cover; transition: transform 0.4s ease;
}
.ah-hero-main button:hover img, .ah-hero-thumb button:hover img { transform: scale(1.03); }
.ah-hero-right {
display: grid;
grid-template-rows: repeat(2, 1fr);
grid-template-columns: repeat(2, 1fr);
gap: 4px;
}
.ah-hero-showall {
position: absolute;
right: 14px;
bottom: 14px;
width: auto !important;
height: auto !important;
min-height: 44px;
padding: 0.65rem 1.05rem;
border-radius: 999px;
border: none;
background: rgba(0,0,0,0.82);
color: #fff;
font-size: clamp(0.95rem, 2vw, 1.15rem);
font-weight: 800;
cursor: pointer;
display: inline-flex;
align-items: center;
gap: 8px;
text-shadow: 0 1px 3px rgba(0,0,0,0.75);
box-shadow: 0 10px 22px rgba(0,0,0,0.22);
z-index: 5;
}
.ah-hero-showall span { font-size: 1.25em; line-height: 1; }
@media (max-width: 768px) {
.ah-hero-grid { grid-template-columns: 1fr; }
.ah-hero-right { display: none; }
.ah-hero-main { border-radius: 18px; overflow: hidden; }
}
/* RESTRICCIONES */
.ah-restrictions-box {
margin-top: 1rem; padding: 0.9rem 1rem;
background: #FFFFFF; border-radius: 14px;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
border: 1px solid rgba(201,164,109,0.22);
}
.ah-restrictions-box h3 {
margin: 0 0 0.5rem; font-size: 0.98rem;
color: #2A2723; font-weight: 750;
}
.ah-restrictions-box ul { margin: 0; padding-left: 1.15rem; }
.ah-restrictions-box li { margin-bottom: 0.25rem; font-size: 0.9rem; color: #444; }
/* SLIDER ENCLAVE */
.ah-enclave-section {
margin-top: 1.5rem; background: #FFFFFF;
border-radius: 14px; padding: 1rem;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
}
.ah-enclave-head {
display: flex; align-items: flex-end; justify-content: space-between;
gap: 1rem; margin-bottom: 0.75rem;
}
.ah-enclave-head h3 { margin: 0; font-size: 1.05rem; color: #2A2723; font-weight: 800; }
.ah-enclave-head p { margin: 0.25rem 0 0; font-size: 0.9rem; color: #555; }
.ah-enclave-controls { display: flex; gap: 0.5rem; }
.ah-enclave-arrow {
width: 36px; height: 36px; border-radius: 999px; border: none;
background: rgba(0,0,0,0.65); color: #fff; cursor: pointer;
display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem;
}
.ah-enclave-arrow:hover { background: rgba(0,0,0,0.85); }
.ah-enclave-track {
display: flex; gap: 0.8rem; overflow-x: auto;
scroll-snap-type: x mandatory; padding-bottom: 0.25rem;
-webkit-overflow-scrolling: touch;
}
.ah-enclave-card {
flex: 0 0 260px; scroll-snap-align: start;
border-radius: 14px; overflow: hidden;
border: 1px solid rgba(0,0,0,0.06); background: #fff;
box-shadow: 0 8px 18px rgba(0,0,0,0.05);
}
.ah-enclave-card img { width: 100%; height: 155px; object-fit: cover; display: block; }
.ah-enclave-card-body {
padding: 0.75rem 0.8rem 0.9rem;
display: flex;
flex-direction: column;
height: calc(100% - 155px);
}
.ah-enclave-card-body .ah-btn-primary { margin-top: auto !important; }
.ah-enclave-card-title { margin: 0 0 0.35rem; font-weight: 800; font-size: 0.95rem; color: #2A2723; }
.ah-enclave-card-meta { margin: 0 0 0.65rem; font-size: 0.85rem; color: #666; line-height: 1.35; }
.ah-enclave-card .ah-btn-primary {
display: block !important;
width: 100%;
max-width: 100%;
box-sizing: border-box;
margin-top: 0;
padding: 0.55rem 0.9rem;
font-size: 0.88rem;
}
@media (max-width: 768px) {
.ah-enclave-controls { display: none; }
.ah-enclave-card { flex-basis: 78%; }
}
/* LIGHTBOX */
.ah-lightbox {
position: fixed; inset: 0;
background: rgba(255,255,255,0.96);
display: none; align-items: center; justify-content: center; z-index: 9999;
}
.ah-lightbox.is-open { display: flex; }
.ah-lightbox-inner { position: relative; max-width: 1100px; width: 100%; margin: 0 1rem; }
.ah-lightbox-close {
position: absolute; top: 12px; right: 12px;
width: 32px; height: 32px; border-radius: 50%; border: none;
background: rgba(0,0,0,0.65); color: #fff; font-size: 1.2rem;
cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 10;
}
.ah-lightbox-close:hover { background: rgba(0,0,0,0.85); }
.ah-lightbox-frame {
position: relative; background: #FFFFFF; border-radius: 16px;
overflow: hidden; box-shadow: 0 12px 30px rgba(0,0,0,0.18);
max-width: 1100px; width: 100%; min-height: 200px;
max-height: calc(100vh - 120px);
display: flex; align-items: center; justify-content: center;
}
.ah-lightbox-track { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.ah-lightbox-slide { display: none; width: 100%; text-align: center; }
.ah-lightbox-slide.is-active { display: block; }
.ah-lightbox-slide img {
max-width: 100%; max-height: calc(100vh - 160px);
width: auto; height: auto; display: inline-block;
}
.ah-lightbox-arrow {
position: absolute; top: 50%; transform: translateY(-50%);
width: 38px; height: 38px; border-radius: 50%; border: none;
background: rgba(0,0,0,0.65); color: #fff;
display: flex; align-items: center; justify-content: center;
cursor: pointer; font-size: 1.3rem; z-index: 5;
}
.ah-lightbox-arrow--prev { left: 10px; }
.ah-lightbox-arrow--next { right: 10px; }
.ah-lightbox-arrow:hover { background: rgba(0,0,0,0.85); }
@media (max-width: 600px) {
.ah-lightbox-inner { margin: 0 0.5rem; }
.ah-lightbox-arrow { width: 32px; height: 32px; font-size: 1.1rem; }
}

/* ============================
MOTOPRESS CARDS — V2 VACACIONES EN CUERNAVACA
============================ */
.ah-property-page .mphb_sc_booking_form-wrapper,
.ah-property-page .mphb-booking-form-wrapper,
.ah-property-page .mphb-calendar-wrapper {
max-width: 100%;
}
.ah-mp-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin-top: 1rem;
}
@media (max-width: 768px) {
.ah-mp-row { grid-template-columns: 1fr; }
}
.ah-mp-card {
background: #FFFFFF;
border-radius: 14px;
padding: 1rem 1.1rem 1.2rem;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
margin-top: 1rem;
}
.ah-mp-card h3 {
margin: 0 0 0.8rem;
font-size: 1.05rem;
color: #2A2723;
font-weight: 800;
padding-bottom: 0.5rem;
border-bottom: 2px solid #C9A46D;
}
.ah-mp-card-price {
background: linear-gradient(135deg, #C9A46D 0%, #b38f59 100%);
color: #1F1C18;
border-radius: 14px;
padding: 1rem 1.1rem;
margin-top: 1rem;
box-shadow: 0 6px 16px rgba(201,164,109,0.25);
}
.ah-mp-card-price h3 {
margin: 0 0 0.3rem;
font-size: 0.78rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #1F1C18 !important;
font-weight: 800;
border: none;
padding-bottom: 0;
}
.ah-mp-card-price .ah-mp-price-amount {
font-size: 1.8rem;
font-weight: 800;
line-height: 1.1;
color: #1F1C18;
}
.ah-mp-card-price .ah-mp-price-note {
font-size: 0.85rem;
color: #3a342d;
margin-top: 0.2rem;
font-weight: 600;
}
.ah-mp-slot { min-height: 1px; }

/* OCULTAR titulares originales de MotoPress (los reemplazamos por h3 Allegra) */
.ah-mp-slot h2.mphb-details-title,
.ah-mp-slot h2.mphb-calendar-title,
.ah-mp-slot h2.mphb-reservation-form-title {
display: none !important;
}

/* OCULTAR el precio duplicado de MotoPress (lo subimos a su propio card) */
.ah-mp-slot > p.mphb-regular-price {
display: none !important;
}

/* Estilizar la lista de atributos */
.ah-mp-slot ul.mphb-single-room-type-attributes {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 0.6rem;
}
.ah-mp-slot ul.mphb-single-room-type-attributes li {
padding: 0.5rem 0;
border-bottom: 1px solid #F0E5D5;
font-size: 0.9rem;
color: #444;
}
.ah-mp-slot ul.mphb-single-room-type-attributes li:last-child {
border-bottom: none;
}
.ah-mp-slot .mphb-attribute-title {
display: inline-block;
font-weight: 800;
color: #2A2723;
min-width: 110px;
margin-right: 0.5rem;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.03em;
}
.ah-mp-slot .mphb-attribute-value {
color: #555;
}
.ah-mp-slot .mphb-attribute-value a {
color: #C9A46D;
text-decoration: none;
font-weight: 600;
}
.ah-mp-slot .mphb-attribute-value a:hover {
text-decoration: underline;
}

/* Calendario MotoPress dentro del card */
.ah-mp-slot .mphb-calendar,
.ah-mp-slot .mphb-datepick,
.ah-mp-slot .inlinePicker {
width: 100% !important;
max-width: 100%;
}
.ah-mp-slot .mphb-calendar table { width: 100% !important; }

/* Form de reserva — inputs y labels Allegra */
.ah-mp-slot form.mphb-booking-form {
margin: 0;
}
.ah-mp-slot form.mphb-booking-form p {
margin: 0 0 0.8rem;
}
.ah-mp-slot form.mphb-booking-form label {
display: block;
font-weight: 800;
color: #2A2723;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.03em;
margin-bottom: 0.3rem;
}
.ah-mp-slot form.mphb-booking-form input[type="text"],
.ah-mp-slot form.mphb-booking-form input[type="number"],
.ah-mp-slot form.mphb-booking-form select {
width: 100%;
padding: 0.55rem 0.7rem;
border: 1px solid #E3DCD2;
border-radius: 10px;
font-size: 0.95rem;
color: #2A2723;
background: #FFFFFF;
box-sizing: border-box;
}
.ah-mp-slot form.mphb-booking-form input[type="text"]:focus,
.ah-mp-slot form.mphb-booking-form select:focus {
outline: none;
border-color: #C9A46D;
box-shadow: 0 0 0 3px rgba(201,164,109,0.15);
}
.ah-mp-slot form.mphb-booking-form abbr {
color: #C9A46D;
border: none;
text-decoration: none;
margin-left: 0.2rem;
}
.ah-mp-slot form.mphb-booking-form .mphb-required-fields-tip {
font-size: 0.75rem;
color: #8C7D6C;
margin-bottom: 1rem;
}
.ah-mp-slot form.mphb-booking-form input[type="submit"],
.ah-mp-slot form.mphb-booking-form .mphb-button,
.ah-mp-slot form.mphb-booking-form .mphb-reserve-btn {
display: inline-block !important;
padding: 0.7rem 1.4rem !important;
border-radius: 999px !important;
background: #C9A46D !important;
color: #FFFFFF !important;
text-decoration: none !important;
font-size: 0.95rem !important;
font-weight: 800 !important;
text-align: center !important;
border: none !important;
cursor: pointer !important;
width: 100% !important;
margin-top: 0.5rem !important;
text-transform: uppercase !important;
letter-spacing: 0.05em !important;
transition: background 0.2s ease !important;
-webkit-appearance: none !important;
-webkit-text-fill-color: #FFFFFF !important;
}
.ah-mp-slot form.mphb-booking-form input[type="submit"]:hover,
.ah-mp-slot form.mphb-booking-form .mphb-button:hover,
.ah-mp-slot form.mphb-booking-form .mphb-reserve-btn:hover {
background: #b38f59;
}
.ah-mp-slot form.mphb-booking-form .mphb-period-price strong {
display: block;
font-size: 0.85rem;
color: #8C7D6C;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 0.3rem;
font-weight: 700;
}
.ah-mp-slot form.mphb-booking-form .mphb-rooms-quantity-wrapper {
padding: 0.7rem 0.9rem;
background: #F8F5F2;
border-radius: 10px;
font-size: 0.88rem;
color: #555;
}
.ah-mp-slot form.mphb-booking-form .mphb-errors-wrapper {
background: #fdecea;
border: 1px solid #f5c6cb;
border-radius: 10px;
padding: 0.7rem 0.9rem;
color: #721c24;
font-size: 0.85rem;
margin: 0.8rem 0;
}
</style>

<div class="ah-property-page" id="ah-villas-eucalipto">
<div class="ah-breadcrumbs">Allegra Homes / Tipos de alojamiento / <strong>Villas Eucalipto</strong></div>
<header class="ah-property-hero">
<h1>Villas Eucalipto | casa de fin de semana en Cuernavaca</h1>
<p class="ah-subtitle">Casa de Fin de Semana · Pedregal de las Fuentes · Cuernavaca, Morelos</p>
</header>

<!-- HERO GALLERY -->
<section class="ah-hero-gallery">
<div class="ah-hero-grid">
<div class="ah-hero-main">
<button aria-label="Abrir galería de Villas Eucalipto" class="js-ah-open-gallery-ve" data-index="0" type="button">
<img alt="Jardín en Villas Eucalipto con alberca, camastros, sombrillas y vegetación tropical junto a muro amarillo." class="ah-lcp" decoding="async" fetchpriority="high" height="800" loading="eager" src="https://allegrahomes.com.mx/wp-content/uploads/2026/05/villas-eucalipto-allegra-homes-cuernavaca.jpg" width="1200"/>
</button>
<button class="ah-hero-showall js-ah-open-gallery-ve" data-index="0" type="button"><span>▦</span> Ver todas</button>
</div>
<div class="ah-hero-right">
<div class="ah-hero-thumb"><button aria-label="Abrir foto 2" class="js-ah-open-gallery-ve" data-index="1" type="button"><img alt="Jardín en Villas Eucalipto con alberca, camastros bajo sombrillas y mesa exterior sobre césped." decoding="async" fetchpriority="low" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villas-Eucalipto-foto-1-1200x-800.jpg" width="1200"/></button></div>
<div class="ah-hero-thumb"><button aria-label="Abrir foto 3" class="js-ah-open-gallery-ve" data-index="2" type="button"><img alt="Jardín en Villas Eucalipto con alberca, camastros, sombrillas y arquitectura moderna al fondo." decoding="async" fetchpriority="low" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villas-Eucalipto-1200-x-800-foto-8.jpg" width="1200"/></button></div>
<div class="ah-hero-thumb"><button aria-label="Abrir foto 4" class="js-ah-open-gallery-ve" data-index="3" type="button"><img alt="Comedor en Villas Eucalipto con mesa de cristal, sillas grises y cocina integrada al fondo." decoding="async" fetchpriority="low" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villas-Eucalipto-1200-x-800-foto-3.jpg" width="1200"/></button></div>
<div class="ah-hero-thumb"><button aria-label="Abrir foto 5" class="js-ah-open-gallery-ve" data-index="4" type="button"><img alt="Cocina en Villas Eucalipto con refrigerador, estufa, mesa de cristal y decoración en piedra." decoding="async" fetchpriority="low" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villas-Eucalipto-1200-x-800-foto-4.jpg" width="1200"/></button></div>
</div>
</div>
</section>

<section class="ah-property-layout">
<main class="ah-property-main">
<div>
<span class="ah-tag">Alberca con caldera</span>
<span class="ah-tag">Jardín privado</span>
<span class="ah-tag">2 cocinas completas</span>
<span class="ah-tag">Ideal para dos familias</span>
<span class="ah-tag">Hasta 10 personas</span>
</div>

<h2>Descripción</h2>
<p><strong>Villas Eucalipto</strong> es una hermosa casa de fin de semana amplia y funcional dentro del <strong>Casas juntas Allegra</strong>, ideal para dos familias o grupos que quieren convivir en un mismo espacio con alberca, jardín privado y áreas sociales cómodas. Ubicada en <strong>Pedregal de las Fuentes, Cuernavaca</strong>, ofrece privacidad y comodidad en un terreno de 700 m².</p>
<p>Con capacidad para <strong>hasta 10 personas</strong> en cuatro habitaciones, dos cocinas y dos salas-comedor, es perfecta para grupos que buscan una casa con alberca y espacios amplios para disfrutar juntos.</p>
<p>Si necesitas más capacidad, puedes combinarla con otra villa del conjunto o con <strong>Allegra Suites</strong>, manteniendo a todos tus invitados muy cerca dentro del mismo recinto privado.</p>

<h2>Lo más destacado</h2>
<ul>
<li class="ah-li-lead"><strong>Hasta 10 personas:</strong> en 4 habitaciones + 1 sofá-cama matrimonial.</li>
<li class="ah-li-lead"><strong>Alberca + jardín:</strong> áreas de descanso para disfrutar el clima de Cuernavaca.</li>
<li class="ah-li-lead"><strong>Área social integrada:</strong> comedor/sala con aire acondicionado.</li>
<li class="ah-li-lead"><strong>2 cocinas equipadas:</strong> ideal para dos familias, estancias de fin de semana y grupos que quieren mayor independencia.</li>
<li class="ah-li-lead"><strong>Perfecta para combinar:</strong> suma propiedades si quieres un conjunto más grande.</li>
<li class="ah-li-lead"><strong>Alberca con caldera gas:</strong> mantenimiento coordina con la compañía de gas y el huésped carga lo que guste. El gas de la casa está incluido; el gas de la alberca es opcional con costo por separado.</li>
</ul>

<h2>Distribución y amenidades</h2>
<ul>
<li class="ah-li-lead"><strong>4 recámaras cómodas:</strong> cuatro recámaras para alojar hasta 10 huéspedes.</li>
<li class="ah-li-lead"><strong>3 baños completos:</strong> buena distribución para familias y grupos.</li>
<li class="ah-li-lead"><strong>2 comedores y 2 salas:</strong> excelente para dos familias que quieren convivir, pero conservar independencia.</li>
<li class="ah-li-lead"><strong>Exterior:</strong> alberca, camastros y área lounge.</li>
<li class="ah-li-lead"><strong>Recámara 1:</strong> una cama matrimonial y aire acondicionado.</li>
<li class="ah-li-lead"><strong>Recámara 2:</strong> dos camas matrimoniales y aire acondicionado.</li>
<li class="ah-li-lead"><strong>Recámara 3:</strong> dos camas individuales y aire acondicionado.</li>
<li class="ah-li-lead"><strong>Recámara 4:</strong> dos camas individuales con ventilador de techo.</li>
<li class="ah-li-lead"><strong>2 cocinas &amp; 2 salas-comedor:</strong> las dos salas-comedor cuentan con aire acondicionado.</li>
<li class="ah-li-lead"><strong>2 familias:</strong> esta casa es perfecta para alojar dos familias, ya que cuenta con 2 refrigeradores, 2 vajillas, 2 comedores, etc., manteniendo independencia y comodidad.</li>
<li class="ah-li-lead"><strong>Sofá-cama:</strong> en una de las salas-comedor hay un sofá-cama matrimonial.</li>
</ul>

<h2>Experiencia Casas juntas Allegra</h2>
<p>Si tu grupo requiere más hospedaje o quieres integrar experiencias —taco party, brunch, after en PRIVE, etc.— lo más efectivo es armar un paquete a la medida combinando propiedades. Villas Eucalipto funciona muy bien para familias grandes o dos núcleos familiares que quieren compartir vacaciones sin perder privacidad.</p>

<section aria-label="Completa tus vacaciones" class="ah-enclave-section">
<div class="ah-enclave-head"><div><h3>Completa tus vacaciones</h3><p>Agrega otra propiedad para que todos estén juntos y se muevan fácil entre casas.</p></div>
<div class="ah-enclave-controls"><button aria-label="Anterior" class="ah-enclave-arrow" data-enclave-prev type="button">‹</button><button aria-label="Siguiente" class="ah-enclave-arrow" data-enclave-next type="button">›</button></div></div>
<div class="ah-enclave-track" data-enclave-track>
<article class="ah-enclave-card"><img alt="Jardín en Villa Las Fuentes con alberca, camastros bajo sombrillas y vegetación tropical junto a muro amarillo." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-foto-1-1200x-800.jpg" width="1200"/><div class="ah-enclave-card-body"><div class="ah-enclave-card-title">Villa Las Fuentes</div><div class="ah-enclave-card-meta">Casa icónica con alberca, jardín y gran área social.</div><a class="ah-btn-primary" href="/accommodation/villa-las-fuentes/">Ver propiedad</a></div></article>
<article class="ah-enclave-card"><img alt="Área exterior en Pedregal 20 con alberca rectangular, camastros verdes, palmeras y terraza techada." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-1.jpg" width="1200"/><div class="ah-enclave-card-body"><div class="ah-enclave-card-title">Pedregal 20</div><div class="ah-enclave-card-meta">Gran jardín y alberca; ideal para reuniones íntimas.</div><a class="ah-btn-primary" href="/accommodation/pedregal-20/">Ver propiedad</a></div></article>
<article class="ah-enclave-card"><img alt="Área exterior en Eucalipto 26 con alberca, jardín y fachada trasera de la casa." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-foto-1-1200x-800.jpg" width="1200"/><div class="ah-enclave-card-body"><div class="ah-enclave-card-title">Eucalipto 26</div><div class="ah-enclave-card-meta">Casa moderna, muy amplia; excelente para familias.</div><a class="ah-btn-primary" href="/accommodation/eucalipto-26/">Ver propiedad</a></div></article>
<article class="ah-enclave-card"><img alt="Área exterior en Las Fuentes 34-A con alberca decorada, camastros y vegetación tropical." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Las-Fuentes-34-A-Foto-1-1200x-800-1.jpg" width="1200"/><div class="ah-enclave-card-body"><div class="ah-enclave-card-title">Las Fuentes 34-A</div><div class="ah-enclave-card-meta">Casa boutique acogedora, ideal para grupos pequeños.</div><a class="ah-btn-primary" href="/accommodation/las-fuentes-34/">Ver propiedad</a></div></article>
<article class="ah-enclave-card"><img alt="Vista del área exterior de Allegra Suites con alberca, puente decorativo y espacios para eventos rodeados de vegetación." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Allegra-Suites-foto-1-1200x800-1.jpg" width="1200"/><div class="ah-enclave-card-body"><div class="ah-enclave-card-title">Allegra Suites</div><div class="ah-enclave-card-meta">9 habitaciones dentro de Jardín Allegra 55.</div><a class="ah-btn-primary" href="/accommodation/allegra-suites-9-habitaciones/">Ver propiedad</a></div></article>
</div><div class="ah-note" style="margin-top:0.6rem;">Si quieres, te armamos la mejor combinación según # de personas y presupuesto.</div>
</section>

<!-- MOTOR DE RESERVAS MOTOPRESS -->
<div class="ah-mp-card-price" id="ah-mp-card-price"><h3>Precio desde</h3><div class="ah-mp-price-amount" id="ah-mp-price-slot">$3,500 MXN</div><div class="ah-mp-price-note">El sistema calcula el total final al seleccionar fechas</div></div>
<div class="ah-mp-card" id="ah-mp-card-details"><h3>Detalles de la propiedad</h3><div class="ah-mp-slot" id="ah-mp-details-slot"></div></div>
<div class="ah-mp-card" id="ah-mp-card-calendar"><h3>Disponibilidad</h3><div class="ah-mp-slot" id="ah-mp-calendar-slot"></div></div>
<div class="ah-mp-card" id="ah-mp-card-form"><h3>Reserva tu estancia</h3><div class="ah-mp-slot" id="ah-mp-form-slot"></div></div>

<div class="ah-restrictions-box" id="ah-restricciones-villas-eucalipto"><h3>Restricciones clave (resumen)</h3><ul><li>No se aceptan mascotas.</li><li>No se permiten fiestas o eventos públicos dentro de la propiedad.</li><li>Prohibido fumar dentro (solo áreas permitidas al exterior).</li><li>Prohibidos fuegos pirotécnicos, bengalas o cualquier artefacto con fuego/chispas.</li><li>Prohibidas armas de fuego y estupefacientes.</li></ul><div class="ah-note">Este es un resumen informativo. Las condiciones completas se confirman en el contrato de hospedaje.</div></div>
</main>

<aside class="ah-property-sidebar">
<div class="ah-card"><h3>Reserva &amp; pagos</h3><ul><li><strong>Anticipo:</strong> 50% para apartar</li><li><strong>Liquidación:</strong> 50% restante 1 semana antes</li><li><strong>Identificación:</strong> INE (frente y vuelta) + comprobante de domicilio</li><li><strong>Correo:</strong> electrónico del titular</li></ul><div class="ah-note">En fechas de alta demanda pueden aplicar mínimos de noches e incrementos por temporada.</div></div>
<div class="ah-card"><h3>Política de cancelación (resumen)</h3><ul><li><strong>Más de 8 semanas antes:</strong> devolución del 50% del depósito de reservación</li><li><strong>Menos de 8 semanas:</strong> no hay devoluciones</li></ul><div class="ah-note">Se calcula contra la fecha de entrada. El detalle final se confirma en el contrato firmado.</div></div>
<div class="ah-card"><h3>Restricciones (mini resumen)</h3><ul><li>No mascotas</li><li>No fiestas/eventos públicos</li><li>No fumar dentro</li><li>No bocinas tipo fiesta / rockolas</li><li>No pirotecnia / bengalas</li></ul><div class="ah-note">La violación de reglas puede implicar cancelación inmediata sin reembolso (según contrato).</div></div>
<div class="ah-card"><h3>Check-in / Check-out</h3><ul><li><strong>Check-in:</strong> 3:00 pm a 9:00 pm</li><li><strong>Check-out:</strong> 12:00 pm</li><li><strong>Temporada alta:</strong> horarios pueden ajustarse</li><li><strong>Early / late:</strong> sujeto a disponibilidad</li></ul></div>
<div class="ah-card"><h3>Grupos grandes o bodas</h3><p style="margin:0 0 0.5rem;">Si necesitas más de una casa, paquetes con experiencias (taco night, brunch, after en PRIVE), o ayuda para coordinar fechas, escríbenos directo.</p><a class="ah-btn-primary" href="https://wa.me/5215585318601?text=Hola%2C%20me%20interesa%20Villas%20Eucalipto%20y%20quiero%20cotizar%20un%20grupo%20o%20paquete%20especial." rel="noopener" target="_blank">Cotizar por WhatsApp</a><div class="ah-note">Recomendado para dos familias, grupos y celebraciones.</div></div>
</aside>
</section>
</div>

<!-- LIGHTBOX -->
<div class="ah-lightbox" id="ahLightboxVE" aria-hidden="true">
  <div class="ah-lightbox-inner" role="dialog" aria-modal="true" aria-label="Galería Villas Eucalipto">
    <button type="button" class="ah-lightbox-close" id="ahLbCloseVE" aria-label="Cerrar">×</button>
    <div class="ah-lightbox-frame">
      <button type="button" class="ah-lightbox-arrow ah-lightbox-arrow--prev" id="ahLbPrevVE" aria-label="Anterior">‹</button>
      <div class="ah-lightbox-track" id="ahLbTrackVE"></div>
      <button type="button" class="ah-lightbox-arrow ah-lightbox-arrow--next" id="ahLbNextVE" aria-label="Siguiente">›</button>
    </div>
  </div>
</div>

<script>
(function() {
  const gallery = [
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2026/05/villas-eucalipto-allegra-homes-cuernavaca.jpg", alt: "Jardín en Villas Eucalipto con alberca, camastros, sombrillas y vegetación tropical junto a muro amarillo." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villas-Eucalipto-foto-1-1200x-800.jpg", alt: "Jardín en Villas Eucalipto con alberca, camastros bajo sombrillas y mesa exterior sobre césped." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villas-Eucalipto-1200-x-800-foto-8.jpg", alt: "Jardín en Villas Eucalipto con alberca, camastros, sombrillas y arquitectura moderna al fondo." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villas-Eucalipto-1200-x-800-foto-3.jpg", alt: "Comedor en Villas Eucalipto con mesa de cristal, sillas grises y cocina integrada al fondo." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villas-Eucalipto-1200-x-800-foto-4.jpg", alt: "Cocina en Villas Eucalipto con refrigerador, estufa, mesa de cristal y decoración en piedra." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villas-Eucalipto-1200-x-800-foto-5.jpg", alt: "Recámara en Villas Eucalipto con dos camas matrimoniales, tocador, lámparas dobles y decoración en tonos beige." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villas-Eucalipto-1200-x-800-foto-6.jpg", alt: "Recámara en Villas Eucalipto con dos camas matrimoniales, cortinas translúcidas y decoración floral." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villas-Eucalipto-1200-x-800-foto-7.jpg", alt: "Recámara en Villas Eucalipto con dos camas matrimoniales, tocador integrado y acceso al baño." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villas-Eucalipto-1200-x-800-foto-9.jpg", alt: "Jardín en Villas Eucalipto con alberca, camastros, sombrillas y vegetación tropical al fondo." }
  ];

  const root = document.getElementById("ah-villas-eucalipto");
  const lightbox = document.getElementById("ahLightboxVE");
  const track = document.getElementById("ahLbTrackVE");
  const btnClose = document.getElementById("ahLbCloseVE");
  const btnPrev = document.getElementById("ahLbPrevVE");
  const btnNext = document.getElementById("ahLbNextVE");
  let current = 0;

  function renderSlides() {
    track.innerHTML = "";
    gallery.forEach((item, idx) => {
      const slide = document.createElement("div");
      slide.className = "ah-lightbox-slide" + (idx === current ? " is-active" : "");
      slide.setAttribute("data-idx", idx);
      const img = document.createElement("img");
      img.src = item.src;
      img.alt = item.alt;
      img.loading = "eager";
      img.decoding = "async";
      slide.appendChild(img);
      track.appendChild(slide);
    });
  }

  function setActive(index) {
    current = (index + gallery.length) % gallery.length;
    track.querySelectorAll(".ah-lightbox-slide").forEach(s => s.classList.remove("is-active"));
    const active = track.querySelector('.ah-lightbox-slide[data-idx="' + current + '"]');
    if (active) active.classList.add("is-active");
  }

  function openLightbox(index) {
    current = Number(index) || 0;
    renderSlides();
    lightbox.classList.add("is-open");
    lightbox.setAttribute("aria-hidden", "false");
    setActive(current);
    document.body.style.overflow = "hidden";
  }

  function closeLightbox() {
    lightbox.classList.remove("is-open");
    lightbox.setAttribute("aria-hidden", "true");
    document.body.style.overflow = "";
  }

  (root ? root.querySelectorAll(".js-ah-open-gallery-ve") : []).forEach(btn => {
    btn.addEventListener("click", () => openLightbox(btn.getAttribute("data-index")));
  });
  if (btnClose) btnClose.addEventListener("click", closeLightbox);
  if (lightbox) lightbox.addEventListener("click", (e) => { if (e.target === lightbox) closeLightbox(); });
  if (btnPrev) btnPrev.addEventListener("click", () => setActive(current - 1));
  if (btnNext) btnNext.addEventListener("click", () => setActive(current + 1));
  document.addEventListener("keydown", (e) => {
    if (!lightbox || !lightbox.classList.contains("is-open")) return;
    if (e.key === "Escape") closeLightbox();
    if (e.key === "ArrowLeft") setActive(current - 1);
    if (e.key === "ArrowRight") setActive(current + 1);
  });

  const track2 = document.querySelector("#ah-villas-eucalipto [data-enclave-track]");
  const prev = document.querySelector("#ah-villas-eucalipto [data-enclave-prev]");
  const next = document.querySelector("#ah-villas-eucalipto [data-enclave-next]");
  function scrollByCard(dir) {
    if (!track2) return;
    const card = track2.querySelector(".ah-enclave-card");
    const step = card ? (card.getBoundingClientRect().width + 13) : 280;
    track2.scrollBy({ left: dir * step, behavior: "smooth" });
  }
  if (prev) prev.addEventListener("click", () => scrollByCard(-1));
  if (next) next.addEventListener("click", () => scrollByCard(1));

  function getMPSourceRoot() {
    const candidates = [
      document.querySelector(".mphb_room_type .entry-content.single-content"),
      document.querySelector(".mphb_room_type .entry-content"),
      document.querySelector("article.mphb_room_type .entry-content"),
      document.querySelector(".entry-content")
    ].filter(Boolean);
    return candidates.find(el =>
      el.querySelector("ul.mphb-single-room-type-attributes, p.mphb-regular-price, div.mphb-calendar, form.mphb-booking-form, form.mphb-booking-form--direct-booking")
    ) || null;
  }

  function cleanPriceText(text) {
    return (text || "").replace(/s+/g, " ").replace(/MXNs*MXN/gi, "MXN").trim();
  }

  function relocateMP() {
    const entry = getMPSourceRoot();
    if (!entry) return false;

    const detailsSlot = document.getElementById("ah-mp-details-slot");
    const calendarSlot = document.getElementById("ah-mp-calendar-slot");
    const formSlot = document.getElementById("ah-mp-form-slot");
    const priceSlot = document.getElementById("ah-mp-price-slot");

    const detailsTitle = entry.querySelector("h2.mphb-details-title");
    const attrs = entry.querySelector("ul.mphb-single-room-type-attributes");
    const priceP = entry.querySelector("p.mphb-regular-price");
    const calTitle = entry.querySelector("h2.mphb-calendar-title");
    const calendar = entry.querySelector("div.mphb-calendar");
    const formTitle = entry.querySelector("h2.mphb-reservation-form-title");
    const form = entry.querySelector("form.mphb-booking-form--direct-booking") || entry.querySelector("form.mphb-booking-form");

    if (attrs && detailsSlot && !detailsSlot.contains(attrs)) detailsSlot.appendChild(attrs);
    if (calendar && calendarSlot && !calendarSlot.contains(calendar)) calendarSlot.appendChild(calendar);
    if (form && formSlot && !formSlot.contains(form)) formSlot.appendChild(form);

    if (priceP && priceSlot) {
      const priceSpan = priceP.querySelector(".mphb-price");
      const currencySpan = priceP.querySelector(".mphb-currency");
      let finalPriceText = "";

      if (priceSpan) {
        let currency = currencySpan ? currencySpan.textContent.trim() : "$";
        let amount = priceSpan.textContent.replace(currency, "").trim();
        finalPriceText = cleanPriceText(currency + " " + amount + " MXN");
      } else {
        finalPriceText = cleanPriceText(priceP.textContent);
      }

      if (/d/.test(finalPriceText)) {
        priceSlot.textContent = finalPriceText.replace(/^precios+desdes*:?s*/i, "");
      } else {
        priceSlot.textContent = "$3,500 MXN";
      }
      priceP.remove();
    }

    if (detailsTitle) detailsTitle.remove();
    if (calTitle) calTitle.remove();
    if (formTitle) formTitle.remove();

    const forms = Array.from(entry.querySelectorAll("form.mphb-booking-form, form.mphb-booking-form--direct-booking"));
    if (forms.length > 1 && formSlot) {
      forms.forEach(f => { if (!formSlot.contains(f)) f.remove(); });
    }

    [["ah-mp-card-details", detailsSlot], ["ah-mp-card-calendar", calendarSlot], ["ah-mp-card-form", formSlot]].forEach(([cardId, slot]) => {
      const card = document.getElementById(cardId);
      if (card && slot && !slot.children.length) card.style.display = "none";
      if (card && slot && slot.children.length) card.style.display = "";
    });
    return true;
  }

  function initMotoPressRelocation() {
    let attempts = 0;
    const maxAttempts = 20;
    const timer = window.setInterval(() => {
      attempts++;
      const moved = relocateMP();
      if (moved || attempts >= maxAttempts) window.clearInterval(timer);
    }, 250);
    const observer = new MutationObserver(() => relocateMP());
    observer.observe(document.body, { childList: true, subtree: true });
    window.setTimeout(() => observer.disconnect(), 8000);
  }

  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", initMotoPressRelocation);
  } else {
    initMotoPressRelocation();
  }
})();
</script><p>The post <a href="https://vacacionesencuernavaca.com/accommodation/villas-eucalipto/">Villas Eucalipto</a> first appeared on <a href="https://vacacionesencuernavaca.com">Allegra Homes Vacaciones en Cuernavaca</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pedregal 20</title>
		<link>https://vacacionesencuernavaca.com/accommodation/pedregal-20/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 08 May 2020 01:51:17 +0000</pubDate>
				<guid isPermaLink="false">https://www.vacacionesencuernavaca.com/?post_type=mphb_room_type&#038;p=834</guid>

					<description><![CDATA[<p>Extraordinaria casa de fin de semana en Cuernavaca, Morelos. 4 Recámaras/ 4.5 Baños, Alberca con Chapoteadero (gas costo adicional), Asador, Estacionamiento 4 autos medianos. Fantástica localización. Reserva Ya!!</p>
<p>The post <a href="https://vacacionesencuernavaca.com/accommodation/pedregal-20/">Pedregal 20</a> first appeared on <a href="https://vacacionesencuernavaca.com">Allegra Homes Vacaciones en Cuernavaca</a>.</p>]]></description>
										<content:encoded><![CDATA[<style>
/* ============================
LAYOUT GENERAL PROPIEDAD
============================ */
.ah-property-page {
max-width: 1200px;
margin: 0 auto 3rem;
padding: 1.5rem 1rem;
background: #F8F5F2;
border-radius: 16px;
}
.ah-breadcrumbs {
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #8C7D6C;
margin-bottom: 0.5rem;
}
.ah-property-hero h1,
.ah-property-hero h2 {
font-size: clamp(1.45rem, 2.2vw, 2rem);
line-height: 1.12;
margin: 0 0 0.35rem;
color: #222;
font-weight: 850;
letter-spacing: -0.02em;
}
.ah-property-hero .ah-subtitle {
font-size: 0.9rem;
color: #555;
margin: 0 0 1.2rem;
}
.ah-property-layout {
display: grid;
grid-template-columns: minmax(0, 1.9fr) minmax(0, 1.1fr);
gap: 1.5rem;
}
.ah-property-layout > * { min-width: 0; }
.ah-property-main { min-width: 0; }
@media (max-width: 900px) {
.ah-property-layout { grid-template-columns: 1fr; }
}
.ah-property-main h2 {
font-size: 1.15rem;
margin: 1.4rem 0 0.5rem;
color: #2A2723;
font-weight: 750;
letter-spacing: 0.01em;
}
.ah-property-main p {
font-size: 0.95rem;
line-height: 1.55;
color: #333;
}
.ah-property-main ul {
padding-left: 1.1rem;
margin: 0.1rem 0 0.7rem;
}
.ah-property-main li {
font-size: 0.92rem;
margin-bottom: 0.25rem;
}
.ah-li-lead strong {
font-weight: 800;
color: #2A2723;
}
.ah-property-sidebar {
display: flex;
flex-direction: column;
gap: 1rem;
}
.ah-card {
background: #FFFFFF;
border-radius: 14px;
padding: 1rem 1.1rem;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
}
.ah-card h3 {
margin-top: 0;
margin-bottom: 0.6rem;
font-size: 0.98rem;
color: #2A2723;
font-weight: 750;
}
.ah-card p,
.ah-card ul li {
font-size: 0.9rem;
color: #444;
}
.ah-card ul {
list-style: none;
padding-left: 0;
margin: 0;
}
.ah-card ul li { margin-bottom: 0.3rem; }
.ah-tag {
display: inline-block;
padding: 0.16rem 0.5rem;
border-radius: 999px;
background: #F0E5D5;
color: #6B5A45;
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.06em;
margin-right: 0.3rem;
margin-bottom: 0.3rem;
}
.ah-btn-primary {
display: inline-block !important;
margin-top: 0.6rem;
padding: 0.55rem 1rem;
border-radius: 999px !important;
background: #C9A46D !important;
color: #FFFFFF !important;
text-decoration: none !important;
font-size: 0.9rem;
font-weight: 700 !important;
text-align: center !important;
border: none !important;
cursor: pointer;
line-height: 1.4 !important;
}
.ah-btn-primary:visited,
.ah-btn-primary:link,
.ah-btn-primary:active {
color: #FFFFFF !important;
text-decoration: none !important;
}
.ah-btn-primary:hover { background: #b38f59; }
/* WhatsApp button usa la misma paleta dorada que el resto de botones */
.ah-note {
font-size: 0.8rem;
color: #6B5A45;
margin-top: 0.4rem;
line-height: 1.35;
}
/* HERO GALLERY */
.ah-hero-gallery { margin-bottom: 1.5rem; }
.ah-hero-grid {
display: grid;
grid-template-columns: 2fr 1.4fr;
gap: 4px;
border-radius: 18px;
overflow: hidden;
background: #FFFFFF;
}
.ah-hero-main, .ah-hero-thumb { position: relative; overflow: hidden; }
.ah-hero-main button, .ah-hero-thumb button {
border: none; padding: 0; margin: 0; background: none; cursor: pointer;
display: block; width: 100%; height: 100%;
}
.ah-hero-main img, .ah-hero-thumb img {
width: 100%; height: 100%; display: block;
object-fit: cover; transition: transform 0.4s ease;
}
.ah-hero-main button:hover img, .ah-hero-thumb button:hover img { transform: scale(1.03); }
.ah-hero-right {
display: grid;
grid-template-rows: repeat(2, 1fr);
grid-template-columns: repeat(2, 1fr);
gap: 4px;
}
.ah-hero-showall {
position: absolute;
right: 14px;
bottom: 14px;
width: auto !important;
height: auto !important;
min-height: 44px;
padding: 0.65rem 1.05rem;
border-radius: 999px;
border: none;
background: rgba(0,0,0,0.82);
color: #fff;
font-size: clamp(0.95rem, 2vw, 1.15rem);
font-weight: 800;
cursor: pointer;
display: inline-flex;
align-items: center;
gap: 8px;
text-shadow: 0 1px 3px rgba(0,0,0,0.75);
box-shadow: 0 10px 22px rgba(0,0,0,0.22);
z-index: 5;
}
.ah-hero-showall span { font-size: 1.25em; line-height: 1; }
@media (max-width: 768px) {
.ah-hero-grid { grid-template-columns: 1fr; }
.ah-hero-right { display: none; }
.ah-hero-main { border-radius: 18px; overflow: hidden; }
}
/* RESTRICCIONES */
.ah-restrictions-box {
margin-top: 1rem; padding: 0.9rem 1rem;
background: #FFFFFF; border-radius: 14px;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
border: 1px solid rgba(201,164,109,0.22);
}
.ah-restrictions-box h3 {
margin: 0 0 0.5rem; font-size: 0.98rem;
color: #2A2723; font-weight: 750;
}
.ah-restrictions-box ul { margin: 0; padding-left: 1.15rem; }
.ah-restrictions-box li { margin-bottom: 0.25rem; font-size: 0.9rem; color: #444; }
/* SLIDER ENCLAVE */
.ah-enclave-section {
margin-top: 1.5rem; background: #FFFFFF;
border-radius: 14px; padding: 1rem;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
}
.ah-enclave-head {
display: flex; align-items: flex-end; justify-content: space-between;
gap: 1rem; margin-bottom: 0.75rem;
}
.ah-enclave-head h3 { margin: 0; font-size: 1.05rem; color: #2A2723; font-weight: 800; }
.ah-enclave-head p { margin: 0.25rem 0 0; font-size: 0.9rem; color: #555; }
.ah-enclave-controls { display: flex; gap: 0.5rem; }
.ah-enclave-arrow {
width: 36px; height: 36px; border-radius: 999px; border: none;
background: rgba(0,0,0,0.65); color: #fff; cursor: pointer;
display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem;
}
.ah-enclave-arrow:hover { background: rgba(0,0,0,0.85); }
.ah-enclave-track {
display: flex; gap: 0.8rem; overflow-x: auto;
scroll-snap-type: x mandatory; padding-bottom: 0.25rem;
-webkit-overflow-scrolling: touch;
}
.ah-enclave-card {
flex: 0 0 260px; scroll-snap-align: start;
border-radius: 14px; overflow: hidden;
border: 1px solid rgba(0,0,0,0.06); background: #fff;
box-shadow: 0 8px 18px rgba(0,0,0,0.05);
}
.ah-enclave-card img { width: 100%; height: 155px; object-fit: cover; display: block; }
.ah-enclave-card-body {
padding: 0.75rem 0.8rem 0.9rem;
display: flex;
flex-direction: column;
height: calc(100% - 155px);
}
.ah-enclave-card-body .ah-btn-primary { margin-top: auto !important; }
.ah-enclave-card-title { margin: 0 0 0.35rem; font-weight: 800; font-size: 0.95rem; color: #2A2723; }
.ah-enclave-card-meta { margin: 0 0 0.65rem; font-size: 0.85rem; color: #666; line-height: 1.35; }
.ah-enclave-card .ah-btn-primary {
display: block !important;
width: 100%;
max-width: 100%;
box-sizing: border-box;
margin-top: 0;
padding: 0.55rem 0.9rem;
font-size: 0.88rem;
}
@media (max-width: 768px) {
.ah-enclave-controls { display: none; }
.ah-enclave-card { flex-basis: 78%; }
}
/* LIGHTBOX */
.ah-lightbox {
position: fixed; inset: 0;
background: rgba(255,255,255,0.96);
display: none; align-items: center; justify-content: center; z-index: 9999;
}
.ah-lightbox.is-open { display: flex; }
.ah-lightbox-inner { position: relative; max-width: 1100px; width: 100%; margin: 0 1rem; }
.ah-lightbox-close {
position: absolute; top: 12px; right: 12px;
width: 32px; height: 32px; border-radius: 50%; border: none;
background: rgba(0,0,0,0.65); color: #fff; font-size: 1.2rem;
cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 10;
}
.ah-lightbox-close:hover { background: rgba(0,0,0,0.85); }
.ah-lightbox-frame {
position: relative; background: #FFFFFF; border-radius: 16px;
overflow: hidden; box-shadow: 0 12px 30px rgba(0,0,0,0.18);
max-width: 1100px; width: 100%; min-height: 200px;
max-height: calc(100vh - 120px);
display: flex; align-items: center; justify-content: center;
}
.ah-lightbox-track { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.ah-lightbox-slide { display: none; width: 100%; text-align: center; }
.ah-lightbox-slide.is-active { display: block; }
.ah-lightbox-slide img {
max-width: 100%; max-height: calc(100vh - 160px);
width: auto; height: auto; display: inline-block;
}
.ah-lightbox-arrow {
position: absolute; top: 50%; transform: translateY(-50%);
width: 38px; height: 38px; border-radius: 50%; border: none;
background: rgba(0,0,0,0.65); color: #fff;
display: flex; align-items: center; justify-content: center;
cursor: pointer; font-size: 1.3rem; z-index: 5;
}
.ah-lightbox-arrow--prev { left: 10px; }
.ah-lightbox-arrow--next { right: 10px; }
.ah-lightbox-arrow:hover { background: rgba(0,0,0,0.85); }
@media (max-width: 600px) {
.ah-lightbox-inner { margin: 0 0.5rem; }
.ah-lightbox-arrow { width: 32px; height: 32px; font-size: 1.1rem; }
}

/* ============================
MOTOPRESS CARDS — V2 VACACIONES EN CUERNAVACA
============================ */
.ah-property-page .mphb_sc_booking_form-wrapper,
.ah-property-page .mphb-booking-form-wrapper,
.ah-property-page .mphb-calendar-wrapper {
max-width: 100%;
}
.ah-mp-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin-top: 1rem;
}
@media (max-width: 768px) {
.ah-mp-row { grid-template-columns: 1fr; }
}
.ah-mp-card {
background: #FFFFFF;
border-radius: 14px;
padding: 1rem 1.1rem 1.2rem;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
margin-top: 1rem;
}
.ah-mp-card h3 {
margin: 0 0 0.8rem;
font-size: 1.05rem;
color: #2A2723;
font-weight: 800;
padding-bottom: 0.5rem;
border-bottom: 2px solid #C9A46D;
}
.ah-mp-card-price {
background: linear-gradient(135deg, #C9A46D 0%, #b38f59 100%);
color: #1F1C18;
border-radius: 14px;
padding: 1rem 1.1rem;
margin-top: 1rem;
box-shadow: 0 6px 16px rgba(201,164,109,0.25);
}
.ah-mp-card-price h3 {
margin: 0 0 0.3rem;
font-size: 0.78rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #1F1C18 !important;
font-weight: 800;
border: none;
padding-bottom: 0;
}
.ah-mp-card-price .ah-mp-price-amount {
font-size: 1.8rem;
font-weight: 800;
line-height: 1.1;
color: #1F1C18;
}
.ah-mp-card-price .ah-mp-price-note {
font-size: 0.85rem;
color: #3a342d;
margin-top: 0.2rem;
font-weight: 600;
}
.ah-mp-slot { min-height: 1px; }

/* OCULTAR titulares originales de MotoPress (los reemplazamos por h3 Allegra) */
.ah-mp-slot h2.mphb-details-title,
.ah-mp-slot h2.mphb-calendar-title,
.ah-mp-slot h2.mphb-reservation-form-title {
display: none !important;
}

/* OCULTAR el precio duplicado de MotoPress (lo subimos a su propio card) */
.ah-mp-slot > p.mphb-regular-price {
display: none !important;
}

/* Estilizar la lista de atributos */
.ah-mp-slot ul.mphb-single-room-type-attributes {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 0.6rem;
}
.ah-mp-slot ul.mphb-single-room-type-attributes li {
padding: 0.5rem 0;
border-bottom: 1px solid #F0E5D5;
font-size: 0.9rem;
color: #444;
}
.ah-mp-slot ul.mphb-single-room-type-attributes li:last-child {
border-bottom: none;
}
.ah-mp-slot .mphb-attribute-title {
display: inline-block;
font-weight: 800;
color: #2A2723;
min-width: 110px;
margin-right: 0.5rem;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.03em;
}
.ah-mp-slot .mphb-attribute-value {
color: #555;
}
.ah-mp-slot .mphb-attribute-value a {
color: #C9A46D;
text-decoration: none;
font-weight: 600;
}
.ah-mp-slot .mphb-attribute-value a:hover {
text-decoration: underline;
}

/* Calendario MotoPress dentro del card */
.ah-mp-slot .mphb-calendar,
.ah-mp-slot .mphb-datepick,
.ah-mp-slot .inlinePicker {
width: 100% !important;
max-width: 100%;
}
.ah-mp-slot .mphb-calendar table { width: 100% !important; }

/* Form de reserva — inputs y labels Allegra */
.ah-mp-slot form.mphb-booking-form {
margin: 0;
}
.ah-mp-slot form.mphb-booking-form p {
margin: 0 0 0.8rem;
}
.ah-mp-slot form.mphb-booking-form label {
display: block;
font-weight: 800;
color: #2A2723;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.03em;
margin-bottom: 0.3rem;
}
.ah-mp-slot form.mphb-booking-form input[type="text"],
.ah-mp-slot form.mphb-booking-form input[type="number"],
.ah-mp-slot form.mphb-booking-form select {
width: 100%;
padding: 0.55rem 0.7rem;
border: 1px solid #E3DCD2;
border-radius: 10px;
font-size: 0.95rem;
color: #2A2723;
background: #FFFFFF;
box-sizing: border-box;
}
.ah-mp-slot form.mphb-booking-form input[type="text"]:focus,
.ah-mp-slot form.mphb-booking-form select:focus {
outline: none;
border-color: #C9A46D;
box-shadow: 0 0 0 3px rgba(201,164,109,0.15);
}
.ah-mp-slot form.mphb-booking-form abbr {
color: #C9A46D;
border: none;
text-decoration: none;
margin-left: 0.2rem;
}
.ah-mp-slot form.mphb-booking-form .mphb-required-fields-tip {
font-size: 0.75rem;
color: #8C7D6C;
margin-bottom: 1rem;
}
.ah-mp-slot form.mphb-booking-form input[type="submit"],
.ah-mp-slot form.mphb-booking-form .mphb-button,
.ah-mp-slot form.mphb-booking-form .mphb-reserve-btn {
display: inline-block !important;
padding: 0.7rem 1.4rem !important;
border-radius: 999px !important;
background: #C9A46D !important;
color: #FFFFFF !important;
text-decoration: none !important;
font-size: 0.95rem !important;
font-weight: 800 !important;
text-align: center !important;
border: none !important;
cursor: pointer !important;
width: 100% !important;
margin-top: 0.5rem !important;
text-transform: uppercase !important;
letter-spacing: 0.05em !important;
transition: background 0.2s ease !important;
-webkit-appearance: none !important;
-webkit-text-fill-color: #FFFFFF !important;
}
.ah-mp-slot form.mphb-booking-form input[type="submit"]:hover,
.ah-mp-slot form.mphb-booking-form .mphb-button:hover,
.ah-mp-slot form.mphb-booking-form .mphb-reserve-btn:hover {
background: #b38f59;
}
.ah-mp-slot form.mphb-booking-form .mphb-period-price strong {
display: block;
font-size: 0.85rem;
color: #8C7D6C;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 0.3rem;
font-weight: 700;
}
.ah-mp-slot form.mphb-booking-form .mphb-rooms-quantity-wrapper {
padding: 0.7rem 0.9rem;
background: #F8F5F2;
border-radius: 10px;
font-size: 0.88rem;
color: #555;
}
.ah-mp-slot form.mphb-booking-form .mphb-errors-wrapper {
background: #fdecea;
border: 1px solid #f5c6cb;
border-radius: 10px;
padding: 0.7rem 0.9rem;
color: #721c24;
font-size: 0.85rem;
margin: 0.8rem 0;
}
</style>

<div class="ah-property-page" id="ah-pedregal-20">
  <div class="ah-breadcrumbs">
    Allegra Homes / Tipos de alojamiento / <strong>Pedregal 20</strong>
  </div>

  <header class="ah-property-hero">
    <h1>Pedregal 20 | Casa de fin de semana en Cuernavaca</h1>
    <p class="ah-subtitle">Casa completa · Pedregal de las Fuentes · Cuernavaca, Morelos</p>
  </header>

  <section class="ah-hero-gallery">
    <div class="ah-hero-grid">
      <div class="ah-hero-main">
        <button type="button" class="js-ah-open-gallery-p20" data-index="0" aria-label="Abrir galería">
          <img
            class="ah-lcp"
            src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-1.jpg"
            alt="Área exterior en Pedregal 20 con alberca rectangular, camastros verdes, palmeras y terraza techada."
            width="1200"
            height="800"
            loading="eager"
            fetchpriority="high"
            decoding="async"
          />
        </button>
        <button type="button" class="ah-hero-showall js-ah-open-gallery-p20" data-index="0"><span>▦</span> Ver todas</button>
      </div>
      <div class="ah-hero-right">
        <div class="ah-hero-thumb"><button type="button" class="js-ah-open-gallery-p20" data-index="1"><img decoding="async" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-2.jpg" alt="Área exterior en Pedregal 20 con alberca, camastros, sombrilla y terraza techada entre vegetación." loading="lazy" /></button></div>
        <div class="ah-hero-thumb"><button type="button" class="js-ah-open-gallery-p20" data-index="2"><img decoding="async" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-3.jpg" alt="Área exterior en Pedregal 20 con alberca moderna, terraza techada y vegetación tropical." loading="lazy" /></button></div>
        <div class="ah-hero-thumb"><button type="button" class="js-ah-open-gallery-p20" data-index="3"><img decoding="async" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-4.jpg" alt="Recámara principal en Pedregal 20 con cama queen, cabecera de madera, bancas y luz natural." loading="lazy" /></button></div>
        <div class="ah-hero-thumb"><button type="button" class="js-ah-open-gallery-p20" data-index="4"><img decoding="async" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-5.jpg" alt="Segunda recámara con cama matrimonial en Pedregal 20 con cabecera de madera, decoración floral y luz natural." loading="lazy" /></button></div>
      </div>
    </div>
  </section>

  <section class="ah-property-layout">
    <main class="ah-property-main">
      <div>
        <span class="ah-tag">Casa completa</span>
        <span class="ah-tag">Alberca grande</span>
        <span class="ah-tag">Jardín extenso</span>
        <span class="ah-tag">Terraza techada</span>
        <span class="ah-tag">Casas juntas</span>
      </div>

      <h2>Descripción</h2>
      <p><strong>Pedregal 20</strong> es la <strong>casa ancla</strong> del Casas juntas Allegra: la propiedad con la <strong>alberca rectangular más grande</strong> del enclave, jardín extenso, terraza techada y un área techada trasera con capacidad para taco parties de hasta <strong>40-60 personas</strong>. Es ideal para familias y grupos de <strong>hasta 8 personas</strong> que buscan el espacio social más amplio del Casas juntas en <strong>Pedregal de las Fuentes, Cuernavaca</strong>.</p>
      <p>Funciona perfecto como <strong>casa sola</strong> para fines de semana familiares, pero brilla especialmente cuando se combina con <strong>Villa Las Fuentes</strong> (vecina pared con pared, conectada por puerta interna del jardín) para alojar grupos grandes y armar paquetes con experiencias tipo taco night, brunch dominical y after en PRIVE.</p>

      <h2>Lo más destacado</h2>
      <ul>
        <li class="ah-li-lead"><strong>Hasta 8 personas:</strong> en 4 recámaras (1 Queen + 2 Matrimoniales + 2 Individuales) y 4.5 baños.</li>
        <li class="ah-li-lead"><strong>Alberca rectangular grande:</strong> la más amplia del Casas juntas, con camastros verdes, palmeras y terraza techada.</li>
        <li class="ah-li-lead"><strong>Área techada trasera para taco parties:</strong> hasta 40-60 personas con mesas y sillas incluidas, ideal para reuniones del grupo.</li>
        <li class="ah-li-lead"><strong>Gran jardín:</strong> espacios para descansar, jugar y convivir al aire libre.</li>
        <li class="ah-li-lead"><strong>Casa ancla del enclave:</strong> se conecta por puerta interna del jardín con Villa Las Fuentes y PRIVE para combos de hasta 60 invitados.</li>
        <li class="ah-li-lead"><strong>Alberca con caldera gas:</strong> mantenimiento coordinado con la compañía de gas y el huésped carga lo que guste. El gas de la casa está incluido; el gas de la alberca es opcional con costo por separado.</li>
      </ul>

      <h2>Distribución y amenidades</h2>
      <ul>
        <li class="ah-li-lead"><strong>Exterior:</strong> alberca rectangular grande + jardín extenso con camastros y sombrillas.</li>
        <li class="ah-li-lead"><strong>Terraza techada:</strong> comedor exterior y zonas para convivir.</li>
        <li class="ah-li-lead"><strong>Área techada trasera:</strong> capacidad 40-60 personas para taco parties con mesas y sillas incluidas.</li>
        <li class="ah-li-lead"><strong>Interiores:</strong> sala acogedora, comedor de mimbre y piso de piedra en blanco y negro.</li>
        <li class="ah-li-lead"><strong>Cocina equipada:</strong> estufa, refrigerador, microondas, alacenas de madera y comedor integrado.</li>
        <li class="ah-li-lead"><strong>Recámaras:</strong> aire acondicionado en todas las recámaras, 4.5 baños.</li>
        <li class="ah-li-lead"><strong>Recámara principal:</strong> cama Queen, cabecera de madera, baño privado moderno.</li>
        <li class="ah-li-lead"><strong>Recámara 2:</strong> cama Matrimonial con cabecera de madera y decoración floral.</li>
        <li class="ah-li-lead"><strong>Recámara 3:</strong> cama Matrimonial con tocador integrado y baño privado.</li>
        <li class="ah-li-lead"><strong>Recámara 4:</strong> dos camas Individuales con decoración floral.</li>
      </ul>

      <h2>Experiencia Casas juntas Allegra</h2>
      <p>Pedregal 20 es <strong>la casa ancla por excelencia</strong> del Casas juntas Allegra. Su área techada trasera está diseñada para hacer <em>welcome taco nights</em> de 40-60 personas con mobiliario incluido, y después el grupo continúa la fiesta caminando 30 segundos hasta <strong>PRIVE</strong> (detrás de la alberca de Villa Las Fuentes) con barra cantinera, escenario de karaoke y mesas lounge. Para hospedaje del grupo grande, combina con <strong>Villa Las Fuentes</strong> (vecina conectada por puerta interna del jardín) y hasta <strong>cinco casas de fin de semana + Allegra Suites</strong> según el tamaño del grupo.</p>

      <section class="ah-enclave-section" aria-label="Completa tus vacaciones">
        <div class="ah-enclave-head">
          <div>
            <h3>Completa tus vacaciones</h3>
            <p>Agrega otra propiedad para expandir capacidad y tener a todos juntos.</p>
          </div>
          <div class="ah-enclave-controls">
            <button type="button" class="ah-enclave-arrow" data-enclave-prev aria-label="Anterior">‹</button>
            <button type="button" class="ah-enclave-arrow" data-enclave-next aria-label="Siguiente">›</button>
          </div>
        </div>
        <div class="ah-enclave-track" data-enclave-track>
          <article class="ah-enclave-card">
            <img decoding="async" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-foto-1-1200x-800.jpg" alt="Villa Las Fuentes" loading="lazy">
            <div class="ah-enclave-card-body">
              <div class="ah-enclave-card-title">Villa Las Fuentes</div>
              <div class="ah-enclave-card-meta">Casa icónica vecina, conectada por puerta interna del jardín.</div>
              <a class="ah-btn-primary" href="/accommodation/villa-las-fuentes/">Ver propiedad</a>
            </div>
          </article>
          <article class="ah-enclave-card">
            <img decoding="async" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-foto-1-1200x-800.jpg" alt="Eucalipto 26" loading="lazy">
            <div class="ah-enclave-card-body">
              <div class="ah-enclave-card-title">Eucalipto 26</div>
              <div class="ah-enclave-card-meta">Casa moderna y amplia con alberca y jardín privado.</div>
              <a class="ah-btn-primary" href="/accommodation/eucalipto-26/">Ver propiedad</a>
            </div>
          </article>
          <article class="ah-enclave-card">
            <img decoding="async" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villas-Eucalipto-1200-x-800-foto-1.jpg" alt="Villas Eucalipto" loading="lazy">
            <div class="ah-enclave-card-body">
              <div class="ah-enclave-card-title">Villas Eucalipto</div>
              <div class="ah-enclave-card-meta">Opción ideal para grupos; alberca + jardín en el conjunto.</div>
              <a class="ah-btn-primary" href="/accommodation/villas-eucalipto/">Ver propiedad</a>
            </div>
          </article>
          <article class="ah-enclave-card">
            <img decoding="async" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Las-Fuentes-34-A-Foto-1-1200x-800-1.jpg" alt="Las Fuentes 34" loading="lazy">
            <div class="ah-enclave-card-body">
              <div class="ah-enclave-card-title">Las Fuentes 34</div>
              <div class="ah-enclave-card-meta">Casa boutique con alberca y terraza techada, ideal para sumar capacidad.</div>
              <a class="ah-btn-primary" href="/accommodation/las-fuentes-34/">Ver propiedad</a>
            </div>
          </article>
          <article class="ah-enclave-card">
            <img decoding="async" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Allegra-Suites-foto-1-1200x800-1.jpg" alt="Allegra Suites" loading="lazy">
            <div class="ah-enclave-card-body">
              <div class="ah-enclave-card-title">Allegra Suites</div>
              <div class="ah-enclave-card-meta">9 habitaciones dentro de Jardín Allegra 55 (ideal para bodas).</div>
              <a class="ah-btn-primary" href="/accommodation/allegra-suites-9-habitaciones/">Ver propiedad</a>
            </div>
          </article>
        </div>
        <div class="ah-note" style="margin-top:0.6rem;">Si quieres, te armamos la mejor combinación según # de personas y presupuesto.</div>
      </section>

      <!-- MOTOR DE RESERVAS MOTOPRESS -->
      <h2>Consulta disponibilidad y reserva</h2>
      <p>
        Selecciona tus fechas para que el sistema confirme disponibilidad real y calcule el precio final.
        Si vienes con un grupo grande o quieres combinar varias casas, también puedes escribirnos por WhatsApp.
      </p>

      <!-- MOTOPRESS PRICE CARD -->
      <div class="ah-mp-card-price" id="ah-mp-card-price">
        <h3>Precio desde</h3>
        <div class="ah-mp-price-amount" id="ah-mp-price-slot">—</div>
        <div class="ah-mp-price-note">precio base por noche · el total final se confirma al seleccionar fechas</div>
      </div>

      <!-- MOTOPRESS DETAILS CARD -->
      <div class="ah-mp-card" id="ah-mp-card-details">
        <h3>Detalles de la propiedad</h3>
        <div class="ah-mp-slot" id="ah-mp-details-slot">
          <!-- aquí se inyecta ul.mphb-single-room-type-attributes -->
        </div>
      </div>

      <!-- MOTOPRESS AVAILABILITY + FORM -->
      <div class="ah-mp-card" id="ah-mp-card-calendar">
        <h3>Disponibilidad</h3>
        <div class="ah-mp-slot" id="ah-mp-calendar-slot">
          <!-- aquí se inyecta div.mphb-calendar -->
        </div>
      </div>

      <div class="ah-mp-card" id="ah-mp-card-form">
        <h3>Reserva tu estancia</h3>
        <div class="ah-mp-slot" id="ah-mp-form-slot">
          <!-- aquí se inyecta form.mphb-booking-form -->
        </div>
      </div>

      <div class="ah-restrictions-box" id="ah-restricciones-pedregal-20">
        <h3>Restricciones clave (resumen)</h3>
        <ul>
          <li>No se aceptan mascotas.</li>
          <li>No se permiten fiestas o eventos públicos dentro de la propiedad.</li>
          <li>Prohibido fumar dentro (solo áreas permitidas al exterior).</li>
          <li>Prohibidos fuegos pirotécnicos, bengalas o cualquier artefacto con fuego/chispas.</li>
          <li>Prohibidas armas de fuego y estupefacientes.</li>
        </ul>
        <div class="ah-note">Este es un resumen informativo. Las condiciones completas se confirman en el contrato de hospedaje.</div>
      </div>
    </main>

    <aside class="ah-property-sidebar">
      <div class="ah-card">
        <h3>Reserva &amp; pagos</h3>
        <ul>
          <li><strong>Anticipo:</strong> 50% para apartar</li>
          <li><strong>Liquidación:</strong> 50% restante 1 semana antes</li>
          <li><strong>Métodos de pago:</strong> tarjeta, Apple Pay, Google Pay o transferencia</li>
        </ul>
        <div class="ah-note">En fechas de alta demanda pueden aplicar mínimos de noches e incrementos por temporada.</div>
      </div>

      <div class="ah-card">
        <h3>Política de cancelación</h3>
        <ul>
          <li><strong>Más de 8 semanas antes:</strong> devolución del 50% del depósito</li>
          <li><strong>Menos de 8 semanas:</strong> no hay devoluciones</li>
        </ul>
        <div class="ah-note">Se calcula contra la fecha de entrada. El detalle final se confirma en el contrato firmado.</div>
      </div>

      <div class="ah-card">
        <h3>Restricciones (mini resumen)</h3>
        <ul>
          <li>No mascotas</li>
          <li>No fiestas/eventos públicos</li>
          <li>No fumar dentro</li>
          <li>No bocinas tipo fiesta / rockolas</li>
          <li>No pirotecnia / bengalas</li>
        </ul>
        <div class="ah-note">La violación de reglas puede implicar cancelación inmediata sin reembolso (según contrato).</div>
      </div>

      <div class="ah-card">
        <h3>Check-in / Check-out</h3>
        <ul>
          <li><strong>Check-in:</strong> 3:00 pm a 9:00 pm</li>
          <li><strong>Check-out:</strong> 12:00 pm</li>
          <li><strong>Temporada alta:</strong> horarios pueden ajustarse</li>
          <li><strong>Early / late:</strong> sujeto a disponibilidad</li>
        </ul>
      </div>

      <div class="ah-card">
        <h3>Grupos grandes o bodas</h3>
        <p style="margin:0 0 0.5rem;">Si necesitas más de una casa, paquetes con experiencias (taco night, brunch, after en PRIVE), o ayuda para coordinar fechas, escríbenos directo.</p>
        <a class="ah-btn-primary ah-btn-whatsapp" href="https://wa.me/5215585318601?text=Hola%2C%20me%20interesa%20Pedregal%2020%20y%20quiero%20cotizar%20un%20grupo%20o%20paquete%20especial." target="_blank" rel="noopener">Cotizar por WhatsApp</a>
        <div class="ah-note">Recomendado para bodas, grupos y celebraciones.</div>
      </div>
    </aside>
  </section>
</div>

<div class="ah-lightbox" id="ahLightboxP20" aria-hidden="true">
  <div class="ah-lightbox-inner" role="dialog" aria-modal="true" aria-label="Galería Pedregal 20">
    <button type="button" class="ah-lightbox-close" id="ahLbCloseP20">×</button>
    <div class="ah-lightbox-frame">
      <button type="button" class="ah-lightbox-arrow ah-lightbox-arrow--prev" id="ahLbPrevP20">‹</button>
      <div class="ah-lightbox-track" id="ahLbTrackP20"></div>
      <button type="button" class="ah-lightbox-arrow ah-lightbox-arrow--next" id="ahLbNextP20">›</button>
    </div>
  </div>
</div>

<script>
(function() {
  /* GALERÍA LIGHTBOX */
  const gallery = [
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-1.jpg", alt: "Área exterior en Pedregal 20 con alberca rectangular, camastros verdes, palmeras y terraza techada." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-2.jpg", alt: "Área exterior en Pedregal 20 con alberca, camastros, sombrilla y terraza techada entre vegetación." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-3.jpg", alt: "Área exterior en Pedregal 20 con alberca moderna, terraza techada y vegetación tropical." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-4.jpg", alt: "Recámara principal en Pedregal 20 con cama queen, cabecera de madera, bancas y luz natural." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-5.jpg", alt: "Segunda recámara con cama matrimonial en Pedregal 20 con cabecera de madera, decoración floral y luz natural." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-6.jpg", alt: "Tercer recámara en Pedregal 20 con cama matrimonial, tocador integrado y baño privado." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-7.jpg", alt: "Cuarta recámara en Pedregal 20 con dos camas individuales, decoración floral y luz natural." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-8.jpg", alt: "Baño moderno de la recámara principal en Pedregal 20 con lavabo de sobreponer, regadera con cancel y decoración minimalista." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-9.jpg", alt: "Área interior en Pedregal 20 con comedor de mimbre, sala acogedora y decoración rústica." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-10.jpg", alt: "Área interior en Pedregal 20 con sala de piel, comedor moderno y piso de piedra en blanco y negro." }
  ];
  const root = document.getElementById("ah-pedregal-20");
  const lightbox = document.getElementById("ahLightboxP20");
  const track = document.getElementById("ahLbTrackP20");
  const btnClose = document.getElementById("ahLbCloseP20");
  const btnPrev = document.getElementById("ahLbPrevP20");
  const btnNext = document.getElementById("ahLbNextP20");
  let current = 0;
  function renderSlides() {
    track.innerHTML = "";
    gallery.forEach((item, idx) => {
      const slide = document.createElement("div");
      slide.className = "ah-lightbox-slide" + (idx === current ? " is-active" : "");
      slide.setAttribute("data-idx", idx);
      const img = document.createElement("img");
      img.src = item.src; img.alt = item.alt; img.loading = "eager";
      slide.appendChild(img); track.appendChild(slide);
    });
  }
  function setActive(index) {
    current = (index + gallery.length) % gallery.length;
    track.querySelectorAll(".ah-lightbox-slide").forEach(s => s.classList.remove("is-active"));
    const active = track.querySelector('.ah-lightbox-slide[data-idx="' + current + '"]');
    if (active) active.classList.add("is-active");
  }
  function openLightbox(index) {
    current = Number(index) || 0;
    renderSlides();
    lightbox.classList.add("is-open");
    lightbox.setAttribute("aria-hidden", "false");
    setActive(current);
    document.body.style.overflow = "hidden";
  }
  function closeLightbox() {
    lightbox.classList.remove("is-open");
    lightbox.setAttribute("aria-hidden", "true");
    document.body.style.overflow = "";
  }
  (root ? root.querySelectorAll(".js-ah-open-gallery-p20") : [])
    .forEach(btn => btn.addEventListener("click", () => openLightbox(btn.getAttribute("data-index"))));
  btnClose.addEventListener("click", closeLightbox);
  lightbox.addEventListener("click", (e) => { if (e.target === lightbox) closeLightbox(); });
  btnPrev.addEventListener("click", () => setActive(current - 1));
  btnNext.addEventListener("click", () => setActive(current + 1));
  document.addEventListener("keydown", (e) => {
    if (!lightbox.classList.contains("is-open")) return;
    if (e.key === "Escape") closeLightbox();
    if (e.key === "ArrowLeft") setActive(current - 1);
    if (e.key === "ArrowRight") setActive(current + 1);
  });

  /* SLIDER ENCLAVE */
  const track2 = document.querySelector("#ah-pedregal-20 [data-enclave-track]");
  const prev = document.querySelector("#ah-pedregal-20 [data-enclave-prev]");
  const next = document.querySelector("#ah-pedregal-20 [data-enclave-next]");
  function scrollByCard(dir) {
    if (!track2) return;
    const card = track2.querySelector(".ah-enclave-card");
    const step = card ? (card.getBoundingClientRect().width + 13) : 280;
    track2.scrollBy({ left: dir * step, behavior: "smooth" });
  }
  if (prev) prev.addEventListener("click", () => scrollByCard(-1));
  if (next) next.addEventListener("click", () => scrollByCard(1));

  /* MOTOPRESS V2:
     Reubica los bloques que MotoPress imprime automáticamente en la página
     dentro de nuestros cards Allegra. No toca base de datos ni modifica el plugin.
  */
  function getMPSourceRoot() {
    const candidates = [
      document.querySelector(".mphb_room_type .entry-content.single-content"),
      document.querySelector(".mphb_room_type .entry-content"),
      document.querySelector("article.mphb_room_type .entry-content"),
      document.querySelector(".entry-content")
    ].filter(Boolean);

    return candidates.find(el =>
      el.querySelector("ul.mphb-single-room-type-attributes, p.mphb-regular-price, div.mphb-calendar, form.mphb-booking-form, form.mphb-booking-form--direct-booking")
    ) || null;
  }

  function cleanPriceText(text) {
    return (text || "")
      .replace(/s+/g, " ")
      .replace(/MXNs*MXN/gi, "MXN")
      .trim();
  }

  function relocateMP() {
    const entry = getMPSourceRoot();
    if (!entry) return false;

    const detailsSlot = document.getElementById("ah-mp-details-slot");
    const calendarSlot = document.getElementById("ah-mp-calendar-slot");
    const formSlot = document.getElementById("ah-mp-form-slot");
    const priceSlot = document.getElementById("ah-mp-price-slot");

    const detailsTitle = entry.querySelector("h2.mphb-details-title");
    const attrs = entry.querySelector("ul.mphb-single-room-type-attributes");
    const priceP = entry.querySelector("p.mphb-regular-price");
    const calTitle = entry.querySelector("h2.mphb-calendar-title");
    const calendar = entry.querySelector("div.mphb-calendar");
    const formTitle = entry.querySelector("h2.mphb-reservation-form-title");
    const form = entry.querySelector("form.mphb-booking-form--direct-booking") || entry.querySelector("form.mphb-booking-form");

    if (attrs && detailsSlot && !detailsSlot.contains(attrs)) detailsSlot.appendChild(attrs);
    if (calendar && calendarSlot && !calendarSlot.contains(calendar)) calendarSlot.appendChild(calendar);
    if (form && formSlot && !formSlot.contains(form)) formSlot.appendChild(form);

    if (priceP && priceSlot) {
      const priceSpan = priceP.querySelector(".mphb-price");
      const currencySpan = priceP.querySelector(".mphb-currency");
      if (priceSpan) {
        let currency = currencySpan ? currencySpan.textContent.trim() : "$";
        let amount = priceSpan.textContent.replace(currency, "").trim();
        priceSlot.textContent = cleanPriceText(currency + " " + amount + " MXN");
      } else {
        priceSlot.textContent = cleanPriceText(priceP.textContent);
      }
      priceP.remove();
    }

    if (detailsTitle) detailsTitle.remove();
    if (calTitle) calTitle.remove();
    if (formTitle) formTitle.remove();

    /* Evita formularios duplicados si el template imprime más de uno. */
    const forms = Array.from(entry.querySelectorAll("form.mphb-booking-form, form.mphb-booking-form--direct-booking"));
    if (forms.length > 1 && formSlot) {
      forms.forEach(f => {
        if (!formSlot.contains(f)) f.remove();
      });
    }

    /* Si algún slot queda vacío, oculta su card para no mostrar huecos raros. */
    [
      ["ah-mp-card-details", detailsSlot],
      ["ah-mp-card-calendar", calendarSlot],
      ["ah-mp-card-form", formSlot]
    ].forEach(([cardId, slot]) => {
      const card = document.getElementById(cardId);
      if (card && slot && !slot.children.length) card.style.display = "none";
      if (card && slot && slot.children.length) card.style.display = "";
    });

    return true;
  }

  /* MotoPress a veces termina de pintar calendario/form después del contenido.
     Por eso hacemos intentos cortos + observer, sin bloquear la página. */
  function initMotoPressRelocation() {
    let attempts = 0;
    const maxAttempts = 20;

    const timer = window.setInterval(() => {
      attempts++;
      const moved = relocateMP();
      if (moved || attempts >= maxAttempts) window.clearInterval(timer);
    }, 250);

    const observer = new MutationObserver(() => relocateMP());
    observer.observe(document.body, { childList: true, subtree: true });

    window.setTimeout(() => observer.disconnect(), 8000);
  }

  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", initMotoPressRelocation);
  } else {
    initMotoPressRelocation();
  }
})();
</script><p>The post <a href="https://vacacionesencuernavaca.com/accommodation/pedregal-20/">Pedregal 20</a> first appeared on <a href="https://vacacionesencuernavaca.com">Allegra Homes Vacaciones en Cuernavaca</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Villa las Fuentes</title>
		<link>https://vacacionesencuernavaca.com/accommodation/villa-las-fuentes/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 25 Apr 2020 08:38:47 +0000</pubDate>
				<guid isPermaLink="false">https://www.vacacionesencuernavaca.com/?post_type=mphb_room_type&#038;p=34</guid>

					<description><![CDATA[<p>Preciosa casa de fin de semana en Cuernavaca/Jiutepec. 4R /2.5B. Profesionalmente mantenida y calidad de primera!! Excelente localización.</p>
<p>The post <a href="https://vacacionesencuernavaca.com/accommodation/villa-las-fuentes/">Villa las Fuentes</a> first appeared on <a href="https://vacacionesencuernavaca.com">Allegra Homes Vacaciones en Cuernavaca</a>.</p>]]></description>
										<content:encoded><![CDATA[<style>
/* ============================
LAYOUT GENERAL PROPIEDAD
============================ */
.ah-property-page {
max-width: 1200px;
margin: 0 auto 3rem;
padding: 1.5rem 1rem;
background: #F8F5F2;
border-radius: 16px;
}
.ah-breadcrumbs {
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #8C7D6C;
margin-bottom: 0.5rem;
}
.ah-property-hero h1,
.ah-property-hero h2 {
font-size: clamp(1.45rem, 2.2vw, 2rem);
line-height: 1.12;
margin: 0 0 0.35rem;
color: #222;
font-weight: 850;
letter-spacing: -0.02em;
}
.ah-property-hero .ah-subtitle {
font-size: 0.9rem;
color: #555;
margin: 0 0 1.2rem;
}
.ah-property-layout {
display: grid;
grid-template-columns: minmax(0, 1.9fr) minmax(0, 1.1fr);
gap: 1.5rem;
}
.ah-property-layout > * { min-width: 0; }
.ah-property-main { min-width: 0; }
@media (max-width: 900px) {
.ah-property-layout { grid-template-columns: 1fr; }
}
.ah-property-main h2 {
font-size: 1.15rem;
margin: 1.4rem 0 0.5rem;
color: #2A2723;
font-weight: 750;
letter-spacing: 0.01em;
}
.ah-property-main p {
font-size: 0.95rem;
line-height: 1.55;
color: #333;
}
.ah-property-main ul {
padding-left: 1.1rem;
margin: 0.1rem 0 0.7rem;
}
.ah-property-main li {
font-size: 0.92rem;
margin-bottom: 0.25rem;
}
.ah-li-lead strong {
font-weight: 800;
color: #2A2723;
}
.ah-property-sidebar {
display: flex;
flex-direction: column;
gap: 1rem;
}
.ah-card {
background: #FFFFFF;
border-radius: 14px;
padding: 1rem 1.1rem;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
}
.ah-card h3 {
margin-top: 0;
margin-bottom: 0.6rem;
font-size: 0.98rem;
color: #2A2723;
font-weight: 750;
}
.ah-card p,
.ah-card ul li {
font-size: 0.9rem;
color: #444;
}
.ah-card ul {
list-style: none;
padding-left: 0;
margin: 0;
}
.ah-card ul li { margin-bottom: 0.3rem; }
.ah-tag {
display: inline-block;
padding: 0.16rem 0.5rem;
border-radius: 999px;
background: #F0E5D5;
color: #6B5A45;
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.06em;
margin-right: 0.3rem;
margin-bottom: 0.3rem;
}
.ah-btn-primary {
display: inline-block !important;
margin-top: 0.6rem;
padding: 0.55rem 1rem;
border-radius: 999px !important;
background: #C9A46D !important;
color: #FFFFFF !important;
text-decoration: none !important;
font-size: 0.9rem;
font-weight: 700 !important;
text-align: center !important;
border: none !important;
cursor: pointer;
line-height: 1.4 !important;
}
.ah-btn-primary:visited,
.ah-btn-primary:link,
.ah-btn-primary:active {
color: #FFFFFF !important;
text-decoration: none !important;
}
.ah-btn-primary:hover { background: #b38f59; }
/* WhatsApp button usa la misma paleta dorada que el resto de botones */
.ah-note {
font-size: 0.8rem;
color: #6B5A45;
margin-top: 0.4rem;
line-height: 1.35;
}
/* HERO GALLERY */
.ah-hero-gallery { margin-bottom: 1.5rem; }
.ah-hero-grid {
display: grid;
grid-template-columns: 2fr 1.4fr;
gap: 4px;
border-radius: 18px;
overflow: hidden;
background: #FFFFFF;
}
.ah-hero-main, .ah-hero-thumb { position: relative; overflow: hidden; }
.ah-hero-main button, .ah-hero-thumb button {
border: none; padding: 0; margin: 0; background: none; cursor: pointer;
display: block; width: 100%; height: 100%;
}
.ah-hero-main img, .ah-hero-thumb img {
width: 100%; height: 100%; display: block;
object-fit: cover; transition: transform 0.4s ease;
}
.ah-hero-main button:hover img, .ah-hero-thumb button:hover img { transform: scale(1.03); }
.ah-hero-right {
display: grid;
grid-template-rows: repeat(2, 1fr);
grid-template-columns: repeat(2, 1fr);
gap: 4px;
}
.ah-hero-showall {
position: absolute;
right: 14px;
bottom: 14px;
width: auto !important;
height: auto !important;
min-height: 44px;
padding: 0.65rem 1.05rem;
border-radius: 999px;
border: none;
background: rgba(0,0,0,0.82);
color: #fff;
font-size: clamp(0.95rem, 2vw, 1.15rem);
font-weight: 800;
cursor: pointer;
display: inline-flex;
align-items: center;
gap: 8px;
text-shadow: 0 1px 3px rgba(0,0,0,0.75);
box-shadow: 0 10px 22px rgba(0,0,0,0.22);
z-index: 5;
}
.ah-hero-showall span { font-size: 1.25em; line-height: 1; }
@media (max-width: 768px) {
.ah-hero-grid { grid-template-columns: 1fr; }
.ah-hero-right { display: none; }
.ah-hero-main { border-radius: 18px; overflow: hidden; }
}
/* RESTRICCIONES */
.ah-restrictions-box {
margin-top: 1rem; padding: 0.9rem 1rem;
background: #FFFFFF; border-radius: 14px;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
border: 1px solid rgba(201,164,109,0.22);
}
.ah-restrictions-box h3 {
margin: 0 0 0.5rem; font-size: 0.98rem;
color: #2A2723; font-weight: 750;
}
.ah-restrictions-box ul { margin: 0; padding-left: 1.15rem; }
.ah-restrictions-box li { margin-bottom: 0.25rem; font-size: 0.9rem; color: #444; }
/* SLIDER ENCLAVE */
.ah-enclave-section {
margin-top: 1.5rem; background: #FFFFFF;
border-radius: 14px; padding: 1rem;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
}
.ah-enclave-head {
display: flex; align-items: flex-end; justify-content: space-between;
gap: 1rem; margin-bottom: 0.75rem;
}
.ah-enclave-head h3 { margin: 0; font-size: 1.05rem; color: #2A2723; font-weight: 800; }
.ah-enclave-head p { margin: 0.25rem 0 0; font-size: 0.9rem; color: #555; }
.ah-enclave-controls { display: flex; gap: 0.5rem; }
.ah-enclave-arrow {
width: 36px; height: 36px; border-radius: 999px; border: none;
background: rgba(0,0,0,0.65); color: #fff; cursor: pointer;
display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem;
}
.ah-enclave-arrow:hover { background: rgba(0,0,0,0.85); }
.ah-enclave-track {
display: flex; gap: 0.8rem; overflow-x: auto;
scroll-snap-type: x mandatory; padding-bottom: 0.25rem;
-webkit-overflow-scrolling: touch;
}
.ah-enclave-card {
flex: 0 0 260px; scroll-snap-align: start;
border-radius: 14px; overflow: hidden;
border: 1px solid rgba(0,0,0,0.06); background: #fff;
box-shadow: 0 8px 18px rgba(0,0,0,0.05);
}
.ah-enclave-card img { width: 100%; height: 155px; object-fit: cover; display: block; }
.ah-enclave-card-body {
padding: 0.75rem 0.8rem 0.9rem;
display: flex;
flex-direction: column;
height: calc(100% - 155px);
}
.ah-enclave-card-body .ah-btn-primary { margin-top: auto !important; }
.ah-enclave-card-title { margin: 0 0 0.35rem; font-weight: 800; font-size: 0.95rem; color: #2A2723; }
.ah-enclave-card-meta { margin: 0 0 0.65rem; font-size: 0.85rem; color: #666; line-height: 1.35; }
.ah-enclave-card .ah-btn-primary {
display: block !important;
width: 100%;
max-width: 100%;
box-sizing: border-box;
margin-top: 0;
padding: 0.55rem 0.9rem;
font-size: 0.88rem;
}
@media (max-width: 768px) {
.ah-enclave-controls { display: none; }
.ah-enclave-card { flex-basis: 78%; }
}
/* LIGHTBOX */
.ah-lightbox {
position: fixed; inset: 0;
background: rgba(255,255,255,0.96);
display: none; align-items: center; justify-content: center; z-index: 9999;
}
.ah-lightbox.is-open { display: flex; }
.ah-lightbox-inner { position: relative; max-width: 1100px; width: 100%; margin: 0 1rem; }
.ah-lightbox-close {
position: absolute; top: 12px; right: 12px;
width: 32px; height: 32px; border-radius: 50%; border: none;
background: rgba(0,0,0,0.65); color: #fff; font-size: 1.2rem;
cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 10;
}
.ah-lightbox-close:hover { background: rgba(0,0,0,0.85); }
.ah-lightbox-frame {
position: relative; background: #FFFFFF; border-radius: 16px;
overflow: hidden; box-shadow: 0 12px 30px rgba(0,0,0,0.18);
max-width: 1100px; width: 100%; min-height: 200px;
max-height: calc(100vh - 120px);
display: flex; align-items: center; justify-content: center;
}
.ah-lightbox-track { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.ah-lightbox-slide { display: none; width: 100%; text-align: center; }
.ah-lightbox-slide.is-active { display: block; }
.ah-lightbox-slide img {
max-width: 100%; max-height: calc(100vh - 160px);
width: auto; height: auto; display: inline-block;
}
.ah-lightbox-arrow {
position: absolute; top: 50%; transform: translateY(-50%);
width: 38px; height: 38px; border-radius: 50%; border: none;
background: rgba(0,0,0,0.65); color: #fff;
display: flex; align-items: center; justify-content: center;
cursor: pointer; font-size: 1.3rem; z-index: 5;
}
.ah-lightbox-arrow--prev { left: 10px; }
.ah-lightbox-arrow--next { right: 10px; }
.ah-lightbox-arrow:hover { background: rgba(0,0,0,0.85); }
@media (max-width: 600px) {
.ah-lightbox-inner { margin: 0 0.5rem; }
.ah-lightbox-arrow { width: 32px; height: 32px; font-size: 1.1rem; }
}

/* ============================
MOTOPRESS CARDS — V2 VACACIONES EN CUERNAVACA
============================ */
.ah-property-page .mphb_sc_booking_form-wrapper,
.ah-property-page .mphb-booking-form-wrapper,
.ah-property-page .mphb-calendar-wrapper {
max-width: 100%;
}
.ah-mp-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin-top: 1rem;
}
@media (max-width: 768px) {
.ah-mp-row { grid-template-columns: 1fr; }
}
.ah-mp-card {
background: #FFFFFF;
border-radius: 14px;
padding: 1rem 1.1rem 1.2rem;
box-shadow: 0 6px 16px rgba(0,0,0,0.05);
margin-top: 1rem;
}
.ah-mp-card h3 {
margin: 0 0 0.8rem;
font-size: 1.05rem;
color: #2A2723;
font-weight: 800;
padding-bottom: 0.5rem;
border-bottom: 2px solid #C9A46D;
}
.ah-mp-card-price {
background: linear-gradient(135deg, #C9A46D 0%, #b38f59 100%);
color: #1F1C18;
border-radius: 14px;
padding: 1rem 1.1rem;
margin-top: 1rem;
box-shadow: 0 6px 16px rgba(201,164,109,0.25);
}
.ah-mp-card-price h3 {
margin: 0 0 0.3rem;
font-size: 0.78rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #1F1C18 !important;
font-weight: 800;
border: none;
padding-bottom: 0;
}
.ah-mp-card-price .ah-mp-price-amount {
font-size: 1.8rem;
font-weight: 800;
line-height: 1.1;
color: #1F1C18;
}
.ah-mp-card-price .ah-mp-price-note {
font-size: 0.85rem;
color: #3a342d;
margin-top: 0.2rem;
font-weight: 600;
}
.ah-mp-slot { min-height: 1px; }

/* OCULTAR titulares originales de MotoPress (los reemplazamos por h3 Allegra) */
.ah-mp-slot h2.mphb-details-title,
.ah-mp-slot h2.mphb-calendar-title,
.ah-mp-slot h2.mphb-reservation-form-title {
display: none !important;
}

/* OCULTAR el precio duplicado de MotoPress (lo subimos a su propio card) */
.ah-mp-slot > p.mphb-regular-price {
display: none !important;
}

/* Estilizar la lista de atributos */
.ah-mp-slot ul.mphb-single-room-type-attributes {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 0.6rem;
}
.ah-mp-slot ul.mphb-single-room-type-attributes li {
padding: 0.5rem 0;
border-bottom: 1px solid #F0E5D5;
font-size: 0.9rem;
color: #444;
}
.ah-mp-slot ul.mphb-single-room-type-attributes li:last-child {
border-bottom: none;
}
.ah-mp-slot .mphb-attribute-title {
display: inline-block;
font-weight: 800;
color: #2A2723;
min-width: 110px;
margin-right: 0.5rem;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.03em;
}
.ah-mp-slot .mphb-attribute-value {
color: #555;
}
.ah-mp-slot .mphb-attribute-value a {
color: #C9A46D;
text-decoration: none;
font-weight: 600;
}
.ah-mp-slot .mphb-attribute-value a:hover {
text-decoration: underline;
}

/* Calendario MotoPress dentro del card */
.ah-mp-slot .mphb-calendar,
.ah-mp-slot .mphb-datepick,
.ah-mp-slot .inlinePicker {
width: 100% !important;
max-width: 100%;
}
.ah-mp-slot .mphb-calendar table { width: 100% !important; }

/* Form de reserva — inputs y labels Allegra */
.ah-mp-slot form.mphb-booking-form {
margin: 0;
}
.ah-mp-slot form.mphb-booking-form p {
margin: 0 0 0.8rem;
}
.ah-mp-slot form.mphb-booking-form label {
display: block;
font-weight: 800;
color: #2A2723;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.03em;
margin-bottom: 0.3rem;
}
.ah-mp-slot form.mphb-booking-form input[type="text"],
.ah-mp-slot form.mphb-booking-form input[type="number"],
.ah-mp-slot form.mphb-booking-form select {
width: 100%;
padding: 0.55rem 0.7rem;
border: 1px solid #E3DCD2;
border-radius: 10px;
font-size: 0.95rem;
color: #2A2723;
background: #FFFFFF;
box-sizing: border-box;
}
.ah-mp-slot form.mphb-booking-form input[type="text"]:focus,
.ah-mp-slot form.mphb-booking-form select:focus {
outline: none;
border-color: #C9A46D;
box-shadow: 0 0 0 3px rgba(201,164,109,0.15);
}
.ah-mp-slot form.mphb-booking-form abbr {
color: #C9A46D;
border: none;
text-decoration: none;
margin-left: 0.2rem;
}
.ah-mp-slot form.mphb-booking-form .mphb-required-fields-tip {
font-size: 0.75rem;
color: #8C7D6C;
margin-bottom: 1rem;
}
.ah-mp-slot form.mphb-booking-form input[type="submit"],
.ah-mp-slot form.mphb-booking-form .mphb-button,
.ah-mp-slot form.mphb-booking-form .mphb-reserve-btn {
display: inline-block !important;
padding: 0.7rem 1.4rem !important;
border-radius: 999px !important;
background: #C9A46D !important;
color: #FFFFFF !important;
text-decoration: none !important;
font-size: 0.95rem !important;
font-weight: 800 !important;
text-align: center !important;
border: none !important;
cursor: pointer !important;
width: 100% !important;
margin-top: 0.5rem !important;
text-transform: uppercase !important;
letter-spacing: 0.05em !important;
transition: background 0.2s ease !important;
-webkit-appearance: none !important;
-webkit-text-fill-color: #FFFFFF !important;
}
.ah-mp-slot form.mphb-booking-form input[type="submit"]:hover,
.ah-mp-slot form.mphb-booking-form .mphb-button:hover,
.ah-mp-slot form.mphb-booking-form .mphb-reserve-btn:hover {
background: #b38f59;
}
.ah-mp-slot form.mphb-booking-form .mphb-period-price strong {
display: block;
font-size: 0.85rem;
color: #8C7D6C;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 0.3rem;
font-weight: 700;
}
.ah-mp-slot form.mphb-booking-form .mphb-rooms-quantity-wrapper {
padding: 0.7rem 0.9rem;
background: #F8F5F2;
border-radius: 10px;
font-size: 0.88rem;
color: #555;
}
.ah-mp-slot form.mphb-booking-form .mphb-errors-wrapper {
background: #fdecea;
border: 1px solid #f5c6cb;
border-radius: 10px;
padding: 0.7rem 0.9rem;
color: #721c24;
font-size: 0.85rem;
margin: 0.8rem 0;
}
</style>

<div class="ah-property-page" id="ah-villa-las-fuentes">
<div class="ah-breadcrumbs">Allegra Homes / Tipos de alojamiento / <strong>Villa Las Fuentes</strong></div>
<header class="ah-property-hero">
<h1>Villa Las Fuentes | casa de fin de semana en Cuernavaca</h1>
<p class="ah-subtitle">Casa de Fin de Semana · Pedregal de las Fuentes · Cuernavaca, Morelos</p>
</header>

<!-- HERO GALLERY -->
<section class="ah-hero-gallery">
<div class="ah-hero-grid">
<div class="ah-hero-main">
<button aria-label="Abrir galería de Villa Las Fuentes" class="js-ah-open-gallery-vlf" data-index="0" type="button">
<img alt="Jardín en Villa Las Fuentes con alberca, camastros bajo sombrillas y vegetación tropical junto a muro amarillo." class="ah-lcp" decoding="async" fetchpriority="high" height="800" loading="eager" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-foto-1-1200x-800.jpg" width="1200"/>
</button>
<button class="ah-hero-showall js-ah-open-gallery-vlf" data-index="0" type="button"><span>▦</span> Ver todas</button>
</div>
<div class="ah-hero-right">
<div class="ah-hero-thumb"><button aria-label="Abrir foto 2" class="js-ah-open-gallery-vlf" data-index="1" type="button"><img alt="Área exterior en Villa Las Fuentes con alberca, terraza techada, camastros y vegetación tropical." decoding="async" fetchpriority="low" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-1200-x-800-foto-2.jpg" width="1200"/></button></div>
<div class="ah-hero-thumb"><button aria-label="Abrir foto 3" class="js-ah-open-gallery-vlf" data-index="2" type="button"><img alt="Jardín en Villa Las Fuentes con alberca, terraza techada y camastros bajo sombrillas." decoding="async" fetchpriority="low" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-1200-x-800-foto-3.jpg" width="1200"/></button></div>
<div class="ah-hero-thumb"><button aria-label="Abrir foto 4" class="js-ah-open-gallery-vlf" data-index="3" type="button"><img alt="Comedor en Villa Las Fuentes con mesa ovalada de cristal, sillas de mimbre y decoración cálida." decoding="async" fetchpriority="low" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-1200-x-800-foto-4.jpg" width="1200"/></button></div>
<div class="ah-hero-thumb"><button aria-label="Abrir foto 5" class="js-ah-open-gallery-vlf" data-index="4" type="button"><img alt="Área interior en Villa Las Fuentes con sala seccional, comedor largo y decoración en piedra." decoding="async" fetchpriority="low" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-1200-x-800-foto-5.jpg" width="1200"/></button></div>
</div>
</div>
</section>

<section class="ah-property-layout">
<main class="ah-property-main">
<div>
<span class="ah-tag">Casa completa</span>
<span class="ah-tag">Alberca con caldera</span>
<span class="ah-tag">Jardín</span>
<span class="ah-tag">Gran área social</span>
<span class="ah-tag">Casas juntas</span>
<span class="ah-tag">Hasta 10 personas</span>
</div>

<h2>Descripción</h2>
<p><strong>Villa Las Fuentes</strong> es una de las propiedades más icónicas del <strong>Casas juntas Allegra</strong>: una casa completa de fin de semana con alberca, jardín tropical, terraza techada y áreas interiores amplias para convivir cómodamente. Es ideal para familias y grupos de <strong>8 a 10 personas</strong> que quieren estar juntos en una misma casa en <strong>Pedregal de las Fuentes, Cuernavaca</strong>.</p>
<p>Funciona muy bien como <strong>casa sola</strong> o puedes complementar el hospedaje si tienes un grupo grande sumando otra de nuestras casas cuando requieres mayor capacidad para bodas, reuniones familiares o celebraciones de fin de semana.</p>

<h2>Lo más destacado</h2>
<ul>
<li class="ah-li-lead"><strong>Hasta 10 personas:</strong> en 4 habitaciones + 1 sofá-cama matrimonial + 1 sofá-cama individual.</li>
<li class="ah-li-lead"><strong>Jardín y alberca:</strong> camastros, sombrillas y un ambiente muy “vacaciones”.</li>
<li class="ah-li-lead"><strong>Terraza techada:</strong> perfecta para desayunos, tardeadas y convivencia del grupo.</li>
<li class="ah-li-lead"><strong>Áreas sociales amplias:</strong> sala, comedor y espacios cómodos para estar juntos.</li>
<li class="ah-li-lead"><strong>Casas juntas + experiencias:</strong> excelente base para armar paquete con otras casas, Suites y add-ons.</li>
<li class="ah-li-lead"><strong>Alberca con caldera gas:</strong> mantenimiento coordina con la compañía de gas y el huésped carga lo que guste. El gas de la casa está incluido; el gas de la alberca es opcional con costo por separado.</li>
</ul>

<h2>Distribución y amenidades</h2>
<ul>
<li class="ah-li-lead"><strong>Exterior:</strong> alberca + jardín tropical con áreas para descansar.</li>
<li class="ah-li-lead"><strong>Terraza:</strong> comedor techado y zonas para convivir.</li>
<li class="ah-li-lead"><strong>Interiores:</strong> sala seccional, comedor y detalles en piedra.</li>
<li class="ah-li-lead"><strong>Cocina equipada:</strong> estufa, refrigerador, microondas y alacenas.</li>
<li class="ah-li-lead"><strong>Recámaras:</strong> aire acondicionado en todas las recámaras.</li>
<li class="ah-li-lead"><strong>Recámara 1:</strong> una cama matrimonial.</li>
<li class="ah-li-lead"><strong>Recámara 2:</strong> una cama matrimonial.</li>
<li class="ah-li-lead"><strong>Recámara 3:</strong> dos individuales.</li>
<li class="ah-li-lead"><strong>Recámara 4:</strong> cuatro individuales.</li>
</ul>

<h2>Experiencia Casas juntas Allegra</h2>
<p>Villa Las Fuentes funciona muy bien como “casa ancla” del grupo. Si vienes con familia o amigos, podemos ayudarte a armar la mejor combinación de hospedaje y experiencias —por ejemplo: <em>welcome taco night</em>, brunch dominical y/o after en <strong>PRIVE</strong> como add-on. Las casas están muy cerca entre sí, lo que permite que el grupo conviva como un solo “campamento base”. Puedes reservar una, dos o hasta <strong>cinco casas de fin de semana + Allegra Suites</strong> para cubrir tus necesidades de alojamiento para grupos grandes.</p>

<section aria-label="Completa tus vacaciones" class="ah-enclave-section">
<div class="ah-enclave-head"><div><h3>Completa tus vacaciones</h3><p>Agrega otra propiedad para expandir capacidad y tener a todos juntos.</p></div>
<div class="ah-enclave-controls"><button aria-label="Anterior" class="ah-enclave-arrow" data-enclave-prev type="button">‹</button><button aria-label="Siguiente" class="ah-enclave-arrow" data-enclave-next type="button">›</button></div></div>
<div class="ah-enclave-track" data-enclave-track>
<article class="ah-enclave-card"><img alt="Área exterior en Pedregal 20 con alberca rectangular, camastros verdes, palmeras y terraza techada." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Pedregal-20-1200-x-800-foto-1.jpg" width="1200"/><div class="ah-enclave-card-body"><div class="ah-enclave-card-title">Pedregal 20</div><div class="ah-enclave-card-meta">Casa ancla para convivencias; alberca + terraza techada.</div><a class="ah-btn-primary" href="/accommodation/pedregal-20/">Ver propiedad</a></div></article>
<article class="ah-enclave-card"><img alt="Área exterior en Eucalipto 26 con alberca, jardín y fachada trasera de la casa." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Eucalipto-26-foto-1-1200x-800.jpg" width="1200"/><div class="ah-enclave-card-body"><div class="ah-enclave-card-title">Eucalipto 26</div><div class="ah-enclave-card-meta">Casa moderna y amplia con alberca y jardín privado.</div><a class="ah-btn-primary" href="/accommodation/eucalipto-26/">Ver propiedad</a></div></article>
<article class="ah-enclave-card"><img alt="Jardín en Villas Eucalipto con alberca, camastros, sombrillas y vegetación tropical junto a muro amarillo." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villas-Eucalipto-1200-x-800-foto-1.jpg" width="1200"/><div class="ah-enclave-card-body"><div class="ah-enclave-card-title">Villas Eucalipto</div><div class="ah-enclave-card-meta">Opción ideal para grupos; alberca + jardín en el conjunto.</div><a class="ah-btn-primary" href="/accommodation/villas-eucalipto/">Ver propiedad</a></div></article>
<article class="ah-enclave-card"><img alt="Área exterior en Las Fuentes 34-A con alberca decorada, camastros y vegetación tropical." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Las-Fuentes-34-A-Foto-1-1200x-800-1.jpg" width="1200"/><div class="ah-enclave-card-body"><div class="ah-enclave-card-title">Las Fuentes 34-A</div><div class="ah-enclave-card-meta">Casa boutique con alberca y terraza techada, ideal para sumar capacidad.</div><a class="ah-btn-primary" href="/accommodation/las-fuentes-34/">Ver propiedad</a></div></article>
<article class="ah-enclave-card"><img alt="Vista del área exterior de Allegra Suites con alberca, puente decorativo y espacios para eventos rodeados de vegetación." decoding="async" height="800" loading="lazy" src="https://allegrahomes.com.mx/wp-content/uploads/2025/12/Allegra-Suites-foto-1-1200x800-1.jpg" width="1200"/><div class="ah-enclave-card-body"><div class="ah-enclave-card-title">Allegra Suites</div><div class="ah-enclave-card-meta">9 habitaciones dentro de Jardín Allegra 55.</div><a class="ah-btn-primary" href="/accommodation/allegra-suites-9-habitaciones/">Ver propiedad</a></div></article>
</div><div class="ah-note" style="margin-top:0.6rem;">Si quieres, te armamos la mejor combinación según # de personas y presupuesto.</div>
</section>

<!-- MOTOR DE RESERVAS MOTOPRESS -->
<div class="ah-mp-card-price" id="ah-mp-card-price"><h3>Precio desde</h3><div class="ah-mp-price-amount" id="ah-mp-price-slot">$3,500 MXN</div><div class="ah-mp-price-note">El sistema calcula el total final al seleccionar fechas</div></div>
<div class="ah-mp-card" id="ah-mp-card-details"><h3>Detalles de la propiedad</h3><div class="ah-mp-slot" id="ah-mp-details-slot"></div></div>
<div class="ah-mp-card" id="ah-mp-card-calendar"><h3>Disponibilidad</h3><div class="ah-mp-slot" id="ah-mp-calendar-slot"></div></div>
<div class="ah-mp-card" id="ah-mp-card-form"><h3>Reserva tu estancia</h3><div class="ah-mp-slot" id="ah-mp-form-slot"></div></div>

<div class="ah-restrictions-box" id="ah-restricciones-villa-las-fuentes"><h3>Restricciones clave (resumen)</h3><ul><li>No se aceptan mascotas.</li><li>No se permiten fiestas o eventos públicos dentro de la propiedad.</li><li>Prohibido fumar dentro (solo áreas permitidas al exterior).</li><li>Prohibidos fuegos pirotécnicos, bengalas o cualquier artefacto con fuego/chispas.</li><li>Prohibidas armas de fuego y estupefacientes.</li></ul><div class="ah-note">Este es un resumen informativo. Las condiciones completas se confirman en el contrato de hospedaje.</div></div>
</main>

<aside class="ah-property-sidebar">
<div class="ah-card"><h3>Reserva &amp; pagos</h3><ul><li><strong>Anticipo:</strong> 50% para apartar</li><li><strong>Liquidación:</strong> 50% restante 1 semana antes</li><li><strong>Identificación:</strong> INE (frente y vuelta) + comprobante de domicilio</li><li><strong>Correo:</strong> electrónico del titular</li></ul><div class="ah-note">En fechas de alta demanda pueden aplicar mínimos de noches e incrementos por temporada.</div></div>
<div class="ah-card"><h3>Política de cancelación (resumen)</h3><ul><li><strong>Más de 8 semanas antes:</strong> devolución del 50% del depósito de reservación</li><li><strong>Menos de 8 semanas:</strong> no hay devoluciones</li></ul><div class="ah-note">Se calcula contra la fecha de entrada. El detalle final se confirma en el contrato firmado.</div></div>
<div class="ah-card"><h3>Restricciones (mini resumen)</h3><ul><li>No mascotas</li><li>No fiestas/eventos públicos</li><li>No fumar dentro</li><li>No bocinas tipo fiesta / rockolas</li><li>No pirotecnia / bengalas</li></ul><div class="ah-note">La violación de reglas puede implicar cancelación inmediata sin reembolso (según contrato).</div></div>
<div class="ah-card"><h3>Check-in / Check-out</h3><ul><li><strong>Check-in:</strong> 3:00 pm a 9:00 pm</li><li><strong>Check-out:</strong> 12:00 pm</li><li><strong>Temporada alta:</strong> horarios pueden ajustarse</li><li><strong>Early / late:</strong> sujeto a disponibilidad</li></ul></div>
<div class="ah-card"><h3>Grupos grandes o bodas</h3><p style="margin:0 0 0.5rem;">Si necesitas más de una casa, paquetes con experiencias (taco night, brunch, after en PRIVE), o ayuda para coordinar fechas, escríbenos directo.</p><a class="ah-btn-primary" href="https://wa.me/5215585318601?text=Hola%2C%20me%20interesa%20Villa%20Las%20Fuentes%20y%20quiero%20cotizar%20un%20grupo%20o%20paquete%20especial." rel="noopener" target="_blank">Cotizar por WhatsApp</a><div class="ah-note">Recomendado para familias, grupos y celebraciones.</div></div>
</aside>
</section>
</div>

<!-- LIGHTBOX -->
<div class="ah-lightbox" id="ahLightboxVLF" aria-hidden="true">
  <div class="ah-lightbox-inner" role="dialog" aria-modal="true" aria-label="Galería Villa Las Fuentes">
    <button type="button" class="ah-lightbox-close" id="ahLbCloseVLF" aria-label="Cerrar">×</button>
    <div class="ah-lightbox-frame">
      <button type="button" class="ah-lightbox-arrow ah-lightbox-arrow--prev" id="ahLbPrevVLF" aria-label="Anterior">‹</button>
      <div class="ah-lightbox-track" id="ahLbTrackVLF"></div>
      <button type="button" class="ah-lightbox-arrow ah-lightbox-arrow--next" id="ahLbNextVLF" aria-label="Siguiente">›</button>
    </div>
  </div>
</div>

<script>
(function() {
  const gallery = [
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-foto-1-1200x-800.jpg", alt: "Jardín en Villa Las Fuentes con alberca, camastros bajo sombrillas y vegetación tropical junto a muro amarillo." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-1200-x-800-foto-2.jpg", alt: "Área exterior en Villa Las Fuentes con alberca, terraza techada, camastros y vegetación tropical." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-1200-x-800-foto-3.jpg", alt: "Jardín en Villa Las Fuentes con alberca, terraza techada y camastros bajo sombrillas." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-1200-x-800-foto-4.jpg", alt: "Comedor en Villa Las Fuentes con mesa ovalada de cristal, sillas de mimbre y decoración cálida." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-1200-x-800-foto-5.jpg", alt: "Área interior en Villa Las Fuentes con sala seccional, comedor largo y decoración en piedra." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-1200-x-800-foto-6.jpg", alt: "Comedor en Villa Las Fuentes con mesa de cristal para ocho personas y vista al jardín." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-1200-x-800-foto-7.jpg", alt: "Sala en Villa Las Fuentes con sofá seccional, mesa lateral y acceso a antecomedor y sofá cama." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-1200-x-800-foto-8.jpg", alt: "Cocina en Villa Las Fuentes con estufa, refrigerador, microondas y alacenas de madera." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-1200-x-800-foto-9.jpg", alt: "Recámara en Villa Las Fuentes con cama matrimonial, ventilador, aire acondicionado y espejo decorativo." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-1200-x-800-foto-10.jpg", alt: "Recámara con cama matrimonial en Villa Las Fuentes con decoración, espejo de cuerpo completo y lámparas." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-1200-x-800-foto-11.jpg", alt: "Recámara doble en Villa Las Fuentes con camas individuales, ventilador de techo y aire acondicionado." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-1200-x-800-foto-12.jpg", alt: "Recámara doble en Villa Las Fuentes con camas individuales, cortinas amarillas y decoración sencilla." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-1200-x-800-foto-13.jpg", alt: "Baño en Villa Las Fuentes con doble lavabo de sobreponer, espejo amplio y acabados modernos." },
    { src: "https://allegrahomes.com.mx/wp-content/uploads/2025/12/Villa-las-Fuentes-1200-x-800-foto-14.jpg", alt: "Recámara en Villa Las Fuentes con cama matrimonial, ventilador de techo y clóset de madera." }
  ];

  const root = document.getElementById("ah-villa-las-fuentes");
  const lightbox = document.getElementById("ahLightboxVLF");
  const track = document.getElementById("ahLbTrackVLF");
  const btnClose = document.getElementById("ahLbCloseVLF");
  const btnPrev = document.getElementById("ahLbPrevVLF");
  const btnNext = document.getElementById("ahLbNextVLF");
  let current = 0;

  function renderSlides() {
    track.innerHTML = "";
    gallery.forEach((item, idx) => {
      const slide = document.createElement("div");
      slide.className = "ah-lightbox-slide" + (idx === current ? " is-active" : "");
      slide.setAttribute("data-idx", idx);
      const img = document.createElement("img");
      img.src = item.src;
      img.alt = item.alt;
      img.loading = "eager";
      img.decoding = "async";
      slide.appendChild(img);
      track.appendChild(slide);
    });
  }

  function setActive(index) {
    current = (index + gallery.length) % gallery.length;
    track.querySelectorAll(".ah-lightbox-slide").forEach(s => s.classList.remove("is-active"));
    const active = track.querySelector('.ah-lightbox-slide[data-idx="' + current + '"]');
    if (active) active.classList.add("is-active");
  }

  function openLightbox(index) {
    current = Number(index) || 0;
    renderSlides();
    lightbox.classList.add("is-open");
    lightbox.setAttribute("aria-hidden", "false");
    setActive(current);
    document.body.style.overflow = "hidden";
  }

  function closeLightbox() {
    lightbox.classList.remove("is-open");
    lightbox.setAttribute("aria-hidden", "true");
    document.body.style.overflow = "";
  }

  (root ? root.querySelectorAll(".js-ah-open-gallery-vlf") : []).forEach(btn => {
    btn.addEventListener("click", () => openLightbox(btn.getAttribute("data-index")));
  });
  if (btnClose) btnClose.addEventListener("click", closeLightbox);
  if (lightbox) lightbox.addEventListener("click", (e) => { if (e.target === lightbox) closeLightbox(); });
  if (btnPrev) btnPrev.addEventListener("click", () => setActive(current - 1));
  if (btnNext) btnNext.addEventListener("click", () => setActive(current + 1));
  document.addEventListener("keydown", (e) => {
    if (!lightbox || !lightbox.classList.contains("is-open")) return;
    if (e.key === "Escape") closeLightbox();
    if (e.key === "ArrowLeft") setActive(current - 1);
    if (e.key === "ArrowRight") setActive(current + 1);
  });

  const track2 = document.querySelector("#ah-villa-las-fuentes [data-enclave-track]");
  const prev = document.querySelector("#ah-villa-las-fuentes [data-enclave-prev]");
  const next = document.querySelector("#ah-villa-las-fuentes [data-enclave-next]");
  function scrollByCard(dir) {
    if (!track2) return;
    const card = track2.querySelector(".ah-enclave-card");
    const step = card ? (card.getBoundingClientRect().width + 13) : 280;
    track2.scrollBy({ left: dir * step, behavior: "smooth" });
  }
  if (prev) prev.addEventListener("click", () => scrollByCard(-1));
  if (next) next.addEventListener("click", () => scrollByCard(1));

  function getMPSourceRoot() {
    const candidates = [
      document.querySelector(".mphb_room_type .entry-content.single-content"),
      document.querySelector(".mphb_room_type .entry-content"),
      document.querySelector("article.mphb_room_type .entry-content"),
      document.querySelector(".entry-content")
    ].filter(Boolean);
    return candidates.find(el =>
      el.querySelector("ul.mphb-single-room-type-attributes, p.mphb-regular-price, div.mphb-calendar, form.mphb-booking-form, form.mphb-booking-form--direct-booking")
    ) || null;
  }

  function cleanPriceText(text) {
    return (text || "").replace(/s+/g, " ").replace(/MXNs*MXN/gi, "MXN").trim();
  }

  function relocateMP() {
    const entry = getMPSourceRoot();
    if (!entry) return false;

    const detailsSlot = document.getElementById("ah-mp-details-slot");
    const calendarSlot = document.getElementById("ah-mp-calendar-slot");
    const formSlot = document.getElementById("ah-mp-form-slot");
    const priceSlot = document.getElementById("ah-mp-price-slot");

    const detailsTitle = entry.querySelector("h2.mphb-details-title");
    const attrs = entry.querySelector("ul.mphb-single-room-type-attributes");
    const priceP = entry.querySelector("p.mphb-regular-price");
    const calTitle = entry.querySelector("h2.mphb-calendar-title");
    const calendar = entry.querySelector("div.mphb-calendar");
    const formTitle = entry.querySelector("h2.mphb-reservation-form-title");
    const form = entry.querySelector("form.mphb-booking-form--direct-booking") || entry.querySelector("form.mphb-booking-form");

    if (attrs && detailsSlot && !detailsSlot.contains(attrs)) detailsSlot.appendChild(attrs);
    if (calendar && calendarSlot && !calendarSlot.contains(calendar)) calendarSlot.appendChild(calendar);
    if (form && formSlot && !formSlot.contains(form)) formSlot.appendChild(form);

    if (priceP && priceSlot) {
      const priceSpan = priceP.querySelector(".mphb-price");
      const currencySpan = priceP.querySelector(".mphb-currency");
      let finalPriceText = "";

      if (priceSpan) {
        let currency = currencySpan ? currencySpan.textContent.trim() : "$";
        let amount = priceSpan.textContent.replace(currency, "").trim();
        finalPriceText = cleanPriceText(currency + " " + amount + " MXN");
      } else {
        finalPriceText = cleanPriceText(priceP.textContent);
      }

      if (/d/.test(finalPriceText)) {
        priceSlot.textContent = finalPriceText.replace(/^precios+desdes*:?s*/i, "");
      } else {
        priceSlot.textContent = "$3,500 MXN";
      }
      priceP.remove();
    } else if (priceSlot && !/d/.test(priceSlot.textContent || "")) {
      priceSlot.textContent = "$3,500 MXN";
    }

    if (detailsTitle) detailsTitle.remove();
    if (calTitle) calTitle.remove();
    if (formTitle) formTitle.remove();

    const forms = Array.from(entry.querySelectorAll("form.mphb-booking-form, form.mphb-booking-form--direct-booking"));
    if (forms.length > 1 && formSlot) {
      forms.forEach(f => { if (!formSlot.contains(f)) f.remove(); });
    }

    [["ah-mp-card-details", detailsSlot], ["ah-mp-card-calendar", calendarSlot], ["ah-mp-card-form", formSlot]].forEach(([cardId, slot]) => {
      const card = document.getElementById(cardId);
      if (card && slot && !slot.children.length) card.style.display = "none";
      if (card && slot && slot.children.length) card.style.display = "";
    });
    return true;
  }

  function initMotoPressRelocation() {
    let attempts = 0;
    const maxAttempts = 20;
    const timer = window.setInterval(() => {
      attempts++;
      const moved = relocateMP();
      if (moved || attempts >= maxAttempts) window.clearInterval(timer);
    }, 250);
    const observer = new MutationObserver(() => relocateMP());
    observer.observe(document.body, { childList: true, subtree: true });
    window.setTimeout(() => observer.disconnect(), 8000);
  }

  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", initMotoPressRelocation);
  } else {
    initMotoPressRelocation();
  }
})();
</script><p>The post <a href="https://vacacionesencuernavaca.com/accommodation/villa-las-fuentes/">Villa las Fuentes</a> first appeared on <a href="https://vacacionesencuernavaca.com">Allegra Homes Vacaciones en Cuernavaca</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
