.elementor-3128 .elementor-element.elementor-element-e3f4500{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3128 .elementor-element.elementor-element-e3f4500:not(.elementor-motion-effects-element-type-background), .elementor-3128 .elementor-element.elementor-element-e3f4500 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#40916C;}.elementor-3128 .elementor-element.elementor-element-2dd0e42{--display:flex;--min-height:598px;--overlay-opacity:0.5;--border-radius:0px 0px 150px 150px;--margin-top:-10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-3128 .elementor-element.elementor-element-2dd0e42:not(.elementor-motion-effects-element-type-background), .elementor-3128 .elementor-element.elementor-element-2dd0e42 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://xanthushotel.com/wp-content/uploads/2025/01/Cabana-4-5-1024x768.jpg");background-position:bottom center;background-repeat:no-repeat;background-size:cover;}.elementor-3128 .elementor-element.elementor-element-2dd0e42::before, .elementor-3128 .elementor-element.elementor-element-2dd0e42 > .elementor-background-video-container::before, .elementor-3128 .elementor-element.elementor-element-2dd0e42 > .e-con-inner > .elementor-background-video-container::before, .elementor-3128 .elementor-element.elementor-element-2dd0e42 > .elementor-background-slideshow::before, .elementor-3128 .elementor-element.elementor-element-2dd0e42 > .e-con-inner > .elementor-background-slideshow::before, .elementor-3128 .elementor-element.elementor-element-2dd0e42 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-3128 .elementor-element.elementor-element-0cd0bcb{--spacer-size:234px;}.elementor-3128 .elementor-element.elementor-element-f071c37.elementor-element{--align-self:center;}.elementor-3128 .elementor-element.elementor-element-1fdcb56{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3128 .elementor-element.elementor-element-1fdcb56:not(.elementor-motion-effects-element-type-background), .elementor-3128 .elementor-element.elementor-element-1fdcb56 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#40916C;}.elementor-3128 .elementor-element.elementor-element-45504a4{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3128 .elementor-element.elementor-element-45504a4:not(.elementor-motion-effects-element-type-background), .elementor-3128 .elementor-element.elementor-element-45504a4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #40916C 0%, #081C15 100%);}.elementor-3128 .elementor-element.elementor-element-f3370e4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3128 .elementor-element.elementor-element-806ad92{--display:flex;}.elementor-3128 .elementor-element.elementor-element-db15a0e .elementor-heading-title{font-size:26px;color:#D8F3DC;}.elementor-3128 .elementor-element.elementor-element-2a2f323{color:#D8F3DC;}.elementor-3128 .elementor-element.elementor-element-1fe4fb1{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-3128 .elementor-element.elementor-element-fd4f4c6{--display:flex;}.elementor-3128 .elementor-element.elementor-element-035b003 .elementor-heading-title{font-family:"guess";font-size:19px;color:#D8F3DC;}.elementor-3128 .elementor-element.elementor-element-09325ba{--display:flex;}.elementor-3128 .elementor-element.elementor-element-e12608c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3128 .elementor-element.elementor-element-d6da24b{--display:flex;}.elementor-3128 .elementor-element.elementor-element-9ff289e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3128 .elementor-element.elementor-element-9ff289e:not(.elementor-motion-effects-element-type-background), .elementor-3128 .elementor-element.elementor-element-9ff289e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#081C15;}@media(min-width:690px){.elementor-3128 .elementor-element.elementor-element-f3370e4{--width:70%;}.elementor-3128 .elementor-element.elementor-element-e12608c{--width:40%;}}@media(max-width:689px){.elementor-3128 .elementor-element.elementor-element-2dd0e42:not(.elementor-motion-effects-element-type-background), .elementor-3128 .elementor-element.elementor-element-2dd0e42 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;}.elementor-3128 .elementor-element.elementor-element-09325ba{--width:357px;}}/* Start custom CSS for mphbe-accommodation-title, class: .elementor-element-f071c37 *//* ===== Accommodation Type Title (Nombre de la cabaña) ===== */
.mphb-room-type-title {
  color: #fff !important;    /* ⇐ Cambia el color del texto */
  font-size: 50px !important;   /* ⇐ Cambia el tamaño de letra */
  font-weight: 600;             /* (opcional) grosor de la letra */
  text-align: center;           /* (opcional) centrar el título */
  margin-bottom: 12px;          /* (opcional) espacio inferior */
}/* End custom CSS */
/* Start custom CSS for mphbe-accommodation-gallery, class: .elementor-element-2fdfd9a *//* ".elementor-3128 .elementor-element.elementor-element-2fdfd9a" apunta al contenedor del widget en Elementor */.elementor-3128 .elementor-element.elementor-element-2fdfd9a .mphb-room-type-gallery,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .mphb-gallery,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .gallery {  display: flex !important;  flex-wrap: nowrap !important;  gap: 16px;  overflow-x: auto;  overflow-y: hidden;  scroll-snap-type: x proximity;  padding: 6px 2px 10px;  -webkit-overflow-scrolling: touch;}.elementor-3128 .elementor-element.elementor-element-2fdfd9a .mphb-gallery-item,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .gallery-item,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .gallery > figure {  flex: 0 0 clamp(200px, 26vw, 360px);  scroll-snap-align: start;  width: auto !important;}.elementor-3128 .elementor-element.elementor-element-2fdfd9a img {  width: 100%;  height: clamp(140px, 18vw, 240px);  object-fit: cover;  border-radius: 12px;  display: block;  box-shadow: 0 6px 20px rgba(0,0,0,.12);  transition: transform .25s ease, box-shadow .25s ease;}.elementor-3128 .elementor-element.elementor-element-2fdfd9a img:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(0,0,0,.18); }/* Variante slider (Swiper) */.elementor-3128 .elementor-element.elementor-element-2fdfd9a .swiper-wrapper { display: flex !important; gap: 16px; }.elementor-3128 .elementor-element.elementor-element-2fdfd9a .swiper-slide { width: clamp(200px, 26vw, 360px) !important; }/* Ocultar scrollbar en los contenedores que hacen el scroll */.elementor-3128 .elementor-element.elementor-element-2fdfd9a .mphb-room-type-gallery,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .mphb-gallery,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .gallery {  /* Firefox */  scrollbar-width: none;  /* IE/Edge heredado */  -ms-overflow-style: none;}/* WebKit (Chrome, Safari, Edge Chromium) */.elementor-3128 .elementor-element.elementor-element-2fdfd9a .mphb-room-type-gallery::-webkit-scrollbar,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .mphb-gallery::-webkit-scrollbar,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .gallery::-webkit-scrollbar {  height: 0;   /* oculta barra horizontal */  width: 0;    /* (por si acaso) */  background: transparent;}/* Si alguna variante pone el overflow en otro contenedor, cúbrelo también */.elementor-3128 .elementor-element.elementor-element-2fdfd9a .swiper,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .swiper-horizontal {  scrollbar-width: none;  -ms-overflow-style: none;}.elementor-3128 .elementor-element.elementor-element-2fdfd9a .swiper::-webkit-scrollbar {  height: 0;  width: 0;  background: transparent;}/* Contenedor con scroll horizontal minimalista */.elementor-3128 .elementor-element.elementor-element-2fdfd9a .mphb-room-type-gallery,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .mphb-gallery,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .gallery {  display: flex !important;  flex-wrap: nowrap !important;  gap: 16px;  overflow-x: auto;  overflow-y: hidden;  scroll-snap-type: x proximity;  padding: 6px 2px 10px;  -webkit-overflow-scrolling: touch;  /* Scrollbar minimalista en Firefox */  scrollbar-width: thin;               scrollbar-color: transparent transparent;  }/* WebKit (Chrome, Safari, Edge Chromium) */.elementor-3128 .elementor-element.elementor-element-2fdfd9a .mphb-room-type-gallery::-webkit-scrollbar,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .mphb-gallery::-webkit-scrollbar,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .gallery::-webkit-scrollbar {  height: 6px;        /* barra finita */}.elementor-3128 .elementor-element.elementor-element-2fdfd9a .mphb-room-type-gallery::-webkit-scrollbar-track,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .mphb-gallery::-webkit-scrollbar-track,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .gallery::-webkit-scrollbar-track {  background: transparent;  /* fondo invisible */}.elementor-3128 .elementor-element.elementor-element-2fdfd9a .mphb-room-type-gallery::-webkit-scrollbar-thumb,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .mphb-gallery::-webkit-scrollbar-thumb,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .gallery::-webkit-scrollbar-thumb {  background: rgba(0,0,0,0.15);   /* gris muy suave */  border-radius: 999px;           /* redondeado estilo Airbnb */  transition: background 0.25s ease;}.elementor-3128 .elementor-element.elementor-element-2fdfd9a .mphb-room-type-gallery::-webkit-scrollbar-thumb:hover,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .mphb-gallery::-webkit-scrollbar-thumb:hover,.elementor-3128 .elementor-element.elementor-element-2fdfd9a .gallery::-webkit-scrollbar-thumb:hover {  background: rgba(0,0,0,0.35);   /* más visible al hover */}/* End custom CSS */
/* Start custom CSS for mphbe-accommodation-attribute, class: .elementor-element-6fe6474 *//* ====== Contenedor en 2 columnas ====== */
.mphb-room-type-facilities .mphb-attribute-value {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 28px;
  margin: 20px 0;
  padding: 0;
  list-style: none;
}

/* ====== Item ====== */
.mphb-room-type-facilities .mphb-attribute-value span {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 400;
  color: var(--facility-text-color, #fff);
}

.mphb-room-type-facilities .mphb-attribute-value span a {
  text-decoration: none;
  color: inherit;
}

/* ====== Icono genérico ====== */
.mphb-room-type-facilities .mphb-attribute-value span::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  margin-right: 10px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  filter: var(--facility-icon-filter, none);
}

/* ====== Íconos específicos ====== */
.facility-aire-acondicionado::before {
  background-image: url('https://xanthushotel.com/wp-content/uploads/2025/09/snowflake-solid-full.svg');
}
.facility-bano-integrado::before {
  background-image: url('https://xanthushotel.com/wp-content/uploads/2025/09/shower-solid-full.svg');
}
.facility-cafetera::before {
  background-image: url('https://xanthushotel.com/wp-content/uploads/2025/09/mug-saucer-solid-full.svg');
}
.facility-cocina-privada::before {
  background-image: url('https://xanthushotel.com/wp-content/uploads/2025/09/kitchen-set-solid-full.svg');
}
.facility-mini-bar::before {
  background-image: url('https://xanthushotel.com/wp-content/uploads/2025/09/mobile-solid-full.svg');
}
/* WIFI: cubrir ambos nombres por si el HTML tiene el typo */
.facility-wifi-gratis::before,
.facility-wife-gratis::before {
  background-image: url('https://xanthushotel.com/wp-content/uploads/2025/09/wifi-solid-full.svg');
}

/* Hover opcional */
.mphb-room-type-facilities .mphb-attribute-value span:hover {
  color: var(--facility-hover-text-color, #0073e6);
}
.mphb-room-type-facilities .mphb-attribute-value span:hover::before {
  filter: var(--facility-hover-icon-filter, brightness(0) saturate(100%) invert(39%) sepia(89%) saturate(2078%) hue-rotate(203deg) brightness(95%) contrast(101%));
}

/* Responsive */
@media (max-width: 768px) {
  .mphb-room-type-facilities .mphb-attribute-value { grid-template-columns: 1fr; }
}



/* Oculta los nodos de texto (las comas) del contenedor */
.mphb-single-room-type-attribute.mphb-room-type-facilities .mphb-attribute-value{
  font-size: 0;               /* las comas quedan invisibles */
}

/* Restaura el tamaño normal SOLO a los elementos (tus spans) */
.mphb-single-room-type-attribute.mphb-room-type-facilities .mphb-attribute-value > span{
  font-size: 16px;            /* el que ya usas para el texto */
}

/* (opcional) por si el tema añade un ::after como separador */
.mphb-single-room-type-attribute.mphb-room-type-facilities
.mphb-attribute-value > span::after{
  content: none !important;
}/* End custom CSS */
/* Start custom CSS for mphbe-accommodation-attributes, class: .elementor-element-3111db4 *//* ===== Variables rápidas ===== */
.elementor-3128 .elementor-element.elementor-element-3111db4{
  --cap-font: 16px;
  --cap-color: #fff;
  --cap-gap: 12px;
  --cap-icon-size: 26px;
  --cap-filter: none;
}

/* Lista */
.elementor-3128 .elementor-element.elementor-element-3111db4 .mphb-single-room-type-attributes{
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Quitar marcador nativo */
.elementor-3128 .elementor-element.elementor-element-3111db4 .mphb-single-room-type-attributes li::marker{ content:""; }

/* Fila: icono + texto */
.elementor-3128 .elementor-element.elementor-element-3111db4 .mphb-single-room-type-attributes li{
  display: flex;
  align-items: center;
  gap: var(--cap-gap);
  min-height: var(--cap-icon-size);
  font-size: var(--cap-font);
  color: var(--cap-color);
  line-height: 1.35;

  /* Fallback genérico si no hay icono específico */
  --cap-icon-url: url('https://xanthushotel.com/wp-content/uploads/2025/09/person-solid-full-2.svg');
}

/* Icono (forzamos y limpiamos herencias) */
.elementor-3128 .elementor-element.elementor-element-3111db4 .mphb-single-room-type-attributes li::before{
  content: "";
  width: var(--cap-icon-size);
  height: var(--cap-icon-size);
  flex: 0 0 var(--cap-icon-size);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: var(--cap-filter);
  background-image: var(--cap-icon-url) !important;
  -webkit-mask: none !important;
  mask: none !important;
}

/* Iconos específicos por tipo */
.elementor-3128 .elementor-element.elementor-element-3111db4 .mphb-room-type-adults-capacity{
  --cap-icon-url: url('https://xanthushotel.com/wp-content/uploads/2025/06/Untitled-1-02.svg');
}
.elementor-3128 .elementor-element.elementor-element-3111db4 .mphb-room-type-children-capacity{
  --cap-icon-url: url('https://xanthushotel.com/wp-content/uploads/2025/06/Untitled-1-02.svg');
}
.elementor-3128 .elementor-element.elementor-element-3111db4 .mphb-room-type-babies-capacity{
  --cap-icon-url: url('/icons/baby.svg');
}
.elementor-3128 .elementor-element.elementor-element-3111db4 .mphb-room-type-pets-capacity{
  --cap-icon-url: url('/icons/pet.svg');
}

/* Título / valor */
.elementor-3128 .elementor-element.elementor-element-3111db4 .mphb-attribute-title{ margin:0; font-weight:600; }
.elementor-3128 .elementor-element.elementor-element-3111db4 .mphb-attribute-value{ margin-left:4px; }


/* Adultos */
.elementor-3128 .elementor-element.elementor-element-3111db4 .mphb-room-type-adults-capacity .mphb-attribute-title {
  font-size:0; /* oculta texto original pero mantiene el elemento */
}
.elementor-3128 .elementor-element.elementor-element-3111db4 .mphb-room-type-adults-capacity .mphb-attribute-title::after {
  content:"Máximo de adultos";
  font-size:var(--cap-font);
  color:var(--cap-color);
  font-weight:600;
}

/* Niños */
.elementor-3128 .elementor-element.elementor-element-3111db4 .mphb-room-type-children-capacity .mphb-attribute-title {
  font-size:0;
}
.elementor-3128 .elementor-element.elementor-element-3111db4 .mphb-room-type-children-capacity .mphb-attribute-title::after {
  content:"Máximo de niños";
  font-size:var(--cap-font);
  color:var(--cap-color);
  font-weight:600;
}/* End custom CSS */
/* Start custom CSS for mphbe-accommodation-attributes, class: .elementor-element-83579f4 *//* Quitar el "Ver:" */
.mphb-single-room-type-attributes .mphb-view-title {
  display: none !important;
}

/* Quitar bullets / sangrías */
.mphb-single-room-type-attributes {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left !important; /* fuerza alineación izquierda */
}

/* LI: icono + texto */
.mphb-single-room-type-attributes li {
  display: flex;
  align-items: center;
  gap: 8px;         /* espacio entre icono y texto */
  margin: 0 0 8px 0;
  padding: 0;
}

/* Icono a la izquierda */
.mphb-single-room-type-attributes li::before {
  content: "";
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  background-image: url("https://xanthushotel.com/wp-content/uploads/2025/09/eye-solid-full.svg"); /* cambia aquí tu ícono */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.mphb-single-room-type-attributes li {
  color: #fff; /* el color que quieras */
}/* End custom CSS */
/* Start custom CSS for mphbe-accommodation-attribute, class: .elementor-element-945bb52 *//* ===== Atributo: Tamaño (icono + texto en una fila) ===== */
.mphb-room-type-size{
  display: flex;
  align-items: center;
  gap: var(--size-gap, 12px);
  font-size: var(--size-font, 16px);
  color: var(--size-text, #fff);
  line-height: 1.35;
}

/* Icono a la izquierda (cambia la URL por tu SVG/PNG) */
.mphb-room-type-size::before{
  content: "";
  width: var(--size-icon, 28px);
  height: var(--size-icon, 28px);
  flex: 0 0 var(--size-icon, 28px);
  background-image: url('https://xanthushotel.com/wp-content/uploads/2025/09/expand-solid-full.svg'); /* ← tu icono */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: var(--size-filter, none); /* si tu SVG es monocromo puedes recolorizarlo con filtros */
}

/* Título y valor a la par */
.mphb-room-type-size .mphb-attribute-title{
  margin: 0;
  font-weight: 600;            /* similar al look de la referencia */
  color: inherit;
}
.mphb-room-type-size .mphb-attribute-value{
  margin-left: 4px;            /* pequeño respiro tras “Tamaño:” */
  white-space: nowrap;         /* se mantiene en una línea */
}

/* Opcional: si quieres añadir automáticamente “m²” al valor
   (quita esto si ya lo pones en el texto) */
.mphb-room-type-size .mphb-attribute-value::after{
  content: " ";
}

/* Responsive: permitir salto de línea en pantallas pequeñas */
@media (max-width: 480px){
  .mphb-room-type-size{ flex-wrap: wrap; }
  .mphb-room-type-size .mphb-attribute-value{ white-space: normal; }
}/* End custom CSS */
/* Start custom CSS for mphbe-accommodation-attribute, class: .elementor-element-6ca39df *//* icono + texto a la par (un solo icono para todo el atributo) */
.mphb-room-type-bed-type .mphb-attribute-value{
  display:flex;
  align-items:flex-start;
  gap:12px;
  color: var(--bed-text, #fff);
  font-size:16px;
  line-height:1.35;
}

.mphb-room-type-bed-type .mphb-attribute-value::before{
  content:"";
  width:28px; height:28px;
  background-image:url('https://xanthushotel.com/wp-content/uploads/2025/09/bed-solid-full.svg'); /* ← cambia por tu icono */
  background-size:contain; background-repeat:no-repeat; background-position:center;
  flex:0 0 28px;
  filter: var(--bed-filter, none); /* opcional: recolor para SVG monocromo */
}/* End custom CSS */
/* Start custom CSS for mphbe-services, class: .elementor-element-4ccbf7e *//* == Servicios MPHB (scope del widget) == */
.elementor-3128 .elementor-element.elementor-element-4ccbf7e .mphb_sc_services-wrapper{
  /* Colores */
  --srv-title: #D8F3DC;          /* Título "DESAYUNO" */
  --srv-line:  #D8F3DC;          /* Línea completa de precio */
  --srv-price: #D8F3DC;          /* Solo números del precio */

  /* Textos (puedes cambiarlos) */
  --srv-label: "Precio:";        /* etiqueta antes del monto */
  --srv-suffix: " / Por estancia / Por alojamiento"; /* texto después del monto */
}

/* Título (link) */
.elementor-3128 .elementor-element.elementor-element-4ccbf7e .mphb-service-title,
.elementor-3128 .elementor-element.elementor-element-4ccbf7e .mphb-service-title a,
.elementor-3128 .elementor-element.elementor-element-4ccbf7e .mphb-service-title a:visited{
  color: var(--srv-title) !important;
  text-transform: uppercase;     /* opcional */
  font-weight: 800;              /* opcional */
}

/* Color de la línea de precio */
.elementor-3128 .elementor-element.elementor-element-4ccbf7e .mphb-price-wrapper,
.elementor-3128 .elementor-element.elementor-element-4ccbf7e .mphb-price-wrapper strong,
.elementor-3128 .elementor-element.elementor-element-4ccbf7e .mphb-price-wrapper .mphb-price,
.elementor-3128 .elementor-element.elementor-element-4ccbf7e .mphb-price-wrapper .mphb-currency{
  color: var(--srv-line) !important;
}

/* ===== Services Widget · Texto del precio ===== */
.mphb-price-wrapper {
  color: #fff !important;   /* ⇐ Cambia aquí el color del texto */
  font-size: 16px;             /* (opcional) tamaño de letra */
  font-weight: 400;            /* (opcional) grosor de letra */
}/* End custom CSS */
/* Start custom CSS for mphbe-availability-calendar, class: .elementor-element-6c18fef *//* SOLO Availability Calendar (widget/shortcode) */
.mphb_sc_availability_calendar-wrapper .datepick-ctrl{
  display: flex !important;           /* asegura layout en fila */
  align-items: flex-start !important;  /* permite desfase vertical */
}

.mphb_sc_availability_calendar-wrapper .mphb-calendar__selected-dates{
  margin-top: 18px !important;         /* ↓ baja “Select dates” */
}/* End custom CSS */
/* Start custom CSS for mphbe-rates, class: .elementor-element-107cbdd *//* == Xanthus | MPHB Accommodation Rates (Airbnb-ish, centrado siempre) == */

/* --------------------------------------
   0) Variables de marca
--------------------------------------- */
.elementor-3128 .elementor-element.elementor-element-107cbdd{
  --rt-bg: #;
  --rt-card: #1B4332;
  --rt-text: #D8F3DC;
  --rt-muted: #D8F3DC;
  --rt-line: #1B4332;
  --rt-accent: #0ea5e9;
  --rt-accent-2: #0284c7;

  --rt-fs-base: 14px;
  --rt-lh: 1.35;
  --rt-radius-lg: 16px;
  --rt-radius-md: 12px;
  --rt-shadow: 0 10px 28px rgba(0,0,0,.08);
  --rt-shadow-hover: 0 16px 36px rgba(0,0,0,.12);

  --rt-price-fs: clamp(18px, 2.2vw, 22px);
  --rt-price-fs-lg: clamp(24px, 3vw, 30px);

  --rt-chip: "";
  --rt-base-doble: " / base doble";

  --rt-dark: 0;
}

/* --------------------------------------
   1) Contenedor
--------------------------------------- */
.elementor-3128 .elementor-element.elementor-element-107cbdd .elementor-widget-container{
  background: var(--rt-bg);
  border-radius: var(--rt-radius-lg);
}

/* --------------------------------------
   2) Lista
--------------------------------------- */
.elementor-3128 .elementor-element.elementor-element-107cbdd .mphb_sc_room_rates-wrapper{
  padding: 8px;
  font-size: var(--rt-fs-base);
  line-height: var(--rt-lh);
  color: var(--rt-text);
  font-family: inherit;
}

.elementor-3128 .elementor-element.elementor-element-107cbdd .mphb-room-rates-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns: 1fr; /* siempre una sola columna */
  gap:12px;
}

/* --------------------------------------
   3) Tarjeta (centrada/apilada)
--------------------------------------- */
.elementor-3128 .elementor-element.elementor-element-107cbdd .mphb-room-rates-list > li{
  position:relative;
  background:var(--rt-card);
  border:1px solid var(--rt-line);
  border-radius:var(--rt-radius-md);
  box-shadow:var(--rt-shadow);
  padding:14px 16px;

  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:6px;

  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
  color: var(--rt-text);
}
.elementor-3128 .elementor-element.elementor-element-107cbdd .mphb-room-rates-list > li:hover{
  transform: translateY(-1px);
  box-shadow: var(--rt-shadow-hover);
  border-color: color-mix(in srgb, var(--rt-accent) 22%, var(--rt-line));
}

/* --------------------------------------
   4) Textos y periodo
--------------------------------------- */
.elementor-3128 .elementor-element.elementor-element-107cbdd .mphb-room-rates-list br{ display:none !important; }

.elementor-3128 .elementor-element.elementor-element-107cbdd .mphb-room-rates-list > li .mphb-price-period{
  font-size: 13px;
  color: var(--rt-muted);
  margin-left: 0 !important;
  white-space: normal;
}
.elementor-3128 .elementor-element.elementor-element-107cbdd .mphb-room-rates-list > li .mphb-price-period::after{
  content: var(--rt-base-doble);
  margin-left: 2px;
  font-size: 13px;
  color: var(--rt-muted);
}

.elementor-3128 .elementor-element.elementor-element-107cbdd .mphb-room-rates-list > li em,
.elementor-3128 .elementor-element.elementor-element-107cbdd .mphb-room-rates-list > li strong{
  background: color-mix(in srgb, var(--rt-accent) 12%, var(--rt-card));
  color: color-mix(in srgb, var(--rt-accent) 85%, var(--rt-text));
  border: 1px solid color-mix(in srgb, var(--rt-accent) 40%, var(--rt-line));
  padding: 4px 8px;
  border-radius: 999px;
  font-weight:700;
}

/* --------------------------------------
   5) Precio
--------------------------------------- */
.elementor-3128 .elementor-element.elementor-element-107cbdd .mphb-room-rates-list .mphb-price{
  order: 2;
  font-weight: 800;
  font-size: var(--rt-price-fs-lg);
  letter-spacing: -0.01em;
  color: var(--rt-text);
}
.elementor-3128 .elementor-element.elementor-element-107cbdd .mphb-room-rates-list .mphb-price .mphb-currency{
  font-weight:700;
  font-size: .8em;
  vertical-align: top;
}
.elementor-3128 .elementor-element.elementor-element-107cbdd .mphb-room-rates-list .mphb-price-period{
  order: 3;
}


/* --------------------------------------
   7) Accesibilidad
--------------------------------------- */
.elementor-3128 .elementor-element.elementor-element-107cbdd .mphb-room-rates-list > li:focus-within{
  border-color: var(--rt-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--rt-accent) 18%, transparent);
}

/* 5.1) Sufijo de moneda después del precio (personalizable) */
.elementor-3128 .elementor-element.elementor-element-107cbdd{ --rt-code: " MXN"; } /* cambia el texto si lo necesitas */
.elementor-3128 .elementor-element.elementor-element-107cbdd .mphb-room-rates-list .mphb-price{
  white-space: nowrap; /* evita salto entre número y MXN */
}
.elementor-3128 .elementor-element.elementor-element-107cbdd .mphb-room-rates-list .mphb-price::after{
  content: var(--rt-code);
  margin-left: .2em;
  font-size: .65em;
  font-weight: 700;
  letter-spacing: .03em;
  color: var(--rt-muted);
}/* End custom CSS */
/* Start custom CSS for mphbe-availability, class: .elementor-element-1e69718 *//* == Xanthus | Booking Form - Barra Horizontal (Optimizado SIN oscuro, colores personalizables) == */

/* 0) Variables rápidas (ajusta solo estos valores) */
.elementor-3128 .elementor-element.elementor-element-1e69718{
  /* Layout / espaciados */
  --xf-height: 54px;
  --xf-radius: 14px;
  --xf-gap: 10px;
  --xf-pad: 10px;
  --xf-field-pad-x: 14px;

  /* Bordes / sombra tarjeta */
  --xf-shadow: 0 10px 30px rgba(0,0,0,.10);
  --xf-border: 1px solid rgba(0,0,0,.10);

  /* Tipografía y colores globales */
  --xf-font: inherit;
  --xf-text: #111827;                 /* texto principal */
  --xf-muted: #D8F3DC;                /* labels / textos secundarios */
  --xf-bg: #1B4332;                   /* fondo de la caja del formulario */

  /* Campos (inputs/selects/datepicker) */
  --xf-field-bg: #D8F3DC;             /* fondo de campo */
  --xf-field-text: #1D8F3DC;           /* texto de campo */
  --xf-field-border: rgba(0,0,0,.14); /* borde normal */
  --xf-field-border-hover: rgba(0,0,0,.25);  /* borde hover */
  --xf-placeholder-color: rgba(17,24,39,.45);

  /* Foco (sin brinco) */
  --xf-focus-border: #2563eb;           /* color del borde en foco (1px) */
  --xf-focus-ring: rgba(37,99,235,.16); /* anillo exterior (no mueve) */

  /* Botón (aplica a ambos: "Comprobar disponibilidad" y "Confirmar Reservacion") */
  --xf-accent: #081C15;       /* color botón */
  --xf-accent-hover: #1d4ed8; /* hover botón */
  --xf-btn-text: #ffffff;     /* texto botón */

  /* (sin dark skin forzado) */
}

/* 1) Contenedor principal (sin cambios de layout) */
.elementor-3128 .elementor-element.elementor-element-1e69718 .elementor-widget-container{
  max-width: 1100px;
  margin-inline: auto;
}
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb_sc_booking_form-wrapper,
.elementor-3128 .elementor-element.elementor-element-1e69718 form.mphb-booking-form{
  background: var(--xf-bg);
  color: var(--xf-text);
  border-radius: var(--xf-radius);
  box-shadow: var(--xf-shadow);
  border: var(--xf-border);
  padding: calc(var(--xf-pad) + 4px);
}

/* 2) Grid maestro (igual que tuyo) */
.elementor-3128 .elementor-element.elementor-element-1e69718 form.mphb-booking-form{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "in   out"
    "adu  chi"
    "info info"
    "btn  btn";
  gap: var(--xf-gap);
  align-items: center;
}
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-check-in-date-wrapper{  grid-area: in; }
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-check-out-date-wrapper{ grid-area: out; }
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-adults-wrapper{         grid-area: adu; }
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-children-wrapper{       grid-area: chi; }
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-reserve-room-section{   grid-area: info; }
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-reserve-btn-wrapper{    grid-area: btn; }
.elementor-3128 .elementor-element.elementor-element-1e69718 form.mphb-booking-form p{ margin:0 !important; }
.elementor-3128 .elementor-element.elementor-element-1e69718 form.mphb-booking-form p > br{ display:none; }

/* 3) Campos base (solo colores/foco, sin tocar alturas/medidas) */
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-booking-form :is(
  input[type="text"],
  input[type="number"],
  input[type="email"],
  input[type="tel"],
  select,
  .mphb-datepick
){
  height: var(--xf-height);
  width: 100%;
  border-radius: calc(var(--xf-radius) - 4px);
  box-sizing: border-box; /* evita saltos al cambiar el borde */
  border: 1px solid var(--xf-field-border);
  background: var(--xf-field-bg);
  color: var(--xf-field-text);
  padding: 0 var(--xf-field-pad-x);
  font: 500 15px/1 var(--xf-font);
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-booking-form ::placeholder{ color: var(--xf-placeholder-color); }
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-booking-form :is(input,select):hover{ border-color: var(--xf-field-border-hover); }

/* Foco sin brinco (1px fijo + anillo) */
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-booking-form :is(input,select,.mphb-datepick):focus{
  border-color: var(--xf-focus-border) !important;   /* NO cambia el grosor */
  box-shadow: 0 0 0 3px var(--xf-focus-ring) !important; /* anillo visual */
}

/* 3.1) Accesibilidad: labels ocultos visualmente (igual que tuyo) */
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-booking-form label{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}

/* 4) Rooms quantity (igual, solo mantiene estilo) */
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-rooms-quantity-wrapper:not(.mphb-hide),
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-rooms-quantity{ width:100%; }
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-rooms-quantity{
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(0,0,0,.06) 50%),
    linear-gradient(135deg, rgba(0,0,0,.55) 50%, transparent 50%);
  background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

/* 5) Botones (ambos tipos, con override de especificidad) */
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-booking-form :is(.mphb-button, input[type="submit"].mphb-button, .mphb-confirm-reservation){
  height: calc(var(--xf-height) + 2px);
  padding: 0 22px;
  width: 100%;
  border-radius: calc(var(--xf-radius) - 6px);
  border: none;
  font: 700 15px/1 var(--xf-font);
  cursor: pointer;
  white-space: nowrap;
  background: var(--xf-accent);
  color: var(--xf-btn-text);
  transition: transform .08s ease, box-shadow .2s ease, background-color .2s ease;
}
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-booking-form .mphb-button:hover{
  background: var(--xf-accent-hover);
  box-shadow: 0 8px 22px rgba(0,0,0,.18);
}
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-booking-form .mphb-button:active{ transform: translateY(1px); }

/* === FIX: "Comprobar disponibilidad" usa otra clase (.mphb-reserve-btn.button) === */
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-booking-form .mphb-reserve-btn.button{
  background: var(--xf-accent) !important;
  color: var(--xf-btn-text) !important;
  border: none !important;
  border-radius: calc(var(--xf-radius) - 6px);
  box-shadow: none;
}
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-booking-form .mphb-reserve-btn.button:hover{
  background: var(--xf-accent-hover) !important;
  color: var(--xf-btn-text) !important;
}
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-booking-form .mphb-reserve-btn.button[disabled]{
  opacity: .65 !important;
  cursor: not-allowed !important;
}

/* 6) Sección info (sin cambios estructurales) */
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-reserve-room-section{
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: 0;
  padding: 8px 0 0;
  text-align: center;
}
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-reserve-room-section p{
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 12px;
  border: 0 !important;
  background: transparent !important;
  color: var(--xf-muted);
}
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-reserve-room-section :is(.mphb-rooms-quantity-single, .mphb-period-price, .mphb-rooms-quantity-wrapper){
  text-align: center !important;
  margin-inline: auto !important;
  width: 100% !important;
}
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-reserve-room-section .mphb-period-price .mphb-price-period{
  text-decoration: none !important;
  border-bottom: 0 !important;
}

/* 7) Datepicker encima de todo */
.elementor-3128 .elementor-element.elementor-element-1e69718 :is(.ui-datepicker, .mphb-ui-datepicker, .hasDatepicker.ui-datepicker){
  z-index: 999999 !important;
}

/* 8) Estado bloqueado/cargando */
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-booking-form [disabled],
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-booking-form[aria-busy="true"] *{
  cursor: not-allowed !important;
  opacity: .65;
}

/* 9) ——— ELIMINADO ———
   Se quita dark-skin forzado y modo oscuro del sistema. */

/* 10) Responsive (idéntico) */
@media (max-width:1024px){
  .elementor-3128 .elementor-element.elementor-element-1e69718 form.mphb-booking-form{ gap: 10px; }
}
@media (max-width:768px){
  .elementor-3128 .elementor-element.elementor-element-1e69718 .mphb_sc_booking_form-wrapper,
  .elementor-3128 .elementor-element.elementor-element-1e69718 form.mphb-booking-form{
    border-radius: calc(var(--xf-radius) - 4px);
    padding: var(--xf-pad);
  }
  .elementor-3128 .elementor-element.elementor-element-1e69718 form.mphb-booking-form{
    grid-template-columns: 1fr;
    grid-template-areas:
      "in"
      "out"
      "adu"
      "chi"
      "info"
      "btn";
    gap: 8px;
  }
}

/* === Mostrar labels visibles SOLO en Adultos y Niños (igual) === */
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-adults-wrapper label,
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-children-wrapper label {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
  border: none !important;
  font: 600 13px/1.4 var(--xf-font);
  color: var(--xf-muted);
  display: block;
  text-align: left;
}

/* === Labels visibles en Check-in y Check-out (igual) === */
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-check-in-date-wrapper label,
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-check-out-date-wrapper label {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
  border: none !important;
  font: 600 13px/1.4 var(--xf-font);
  color: var(--xf-muted);
  display: block;
  text-align: left;
}
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-check-in-date-wrapper label::after { content: "Hora de llegada"; }
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-check-out-date-wrapper label::after { content: "Hora de salida"; }
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-check-in-date-wrapper label,
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-check-out-date-wrapper label { font-size: 0; }
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-check-in-date-wrapper label::after,
.elementor-3128 .elementor-element.elementor-element-1e69718 .mphb-check-out-date-wrapper label::after { font-size: 13px; }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'guess';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://xanthushotel.com/wp-content/uploads/2025/08/GuessSansW00-Heavy.ttf') format('truetype');
}
/* End Custom Fonts CSS */