.elementor-3615 .elementor-element.elementor-element-583981c{--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-3615 .elementor-element.elementor-element-583981c:not(.elementor-motion-effects-element-type-background), .elementor-3615 .elementor-element.elementor-element-583981c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#40916C;}.elementor-3615 .elementor-element.elementor-element-2f14c2f{--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-3615 .elementor-element.elementor-element-2f14c2f:not(.elementor-motion-effects-element-type-background), .elementor-3615 .elementor-element.elementor-element-2f14c2f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://xanthushotel.com/wp-content/uploads/2025/01/Cabana-3-3-1024x768.jpg");background-position:center right;background-repeat:no-repeat;background-size:cover;}.elementor-3615 .elementor-element.elementor-element-2f14c2f::before, .elementor-3615 .elementor-element.elementor-element-2f14c2f > .elementor-background-video-container::before, .elementor-3615 .elementor-element.elementor-element-2f14c2f > .e-con-inner > .elementor-background-video-container::before, .elementor-3615 .elementor-element.elementor-element-2f14c2f > .elementor-background-slideshow::before, .elementor-3615 .elementor-element.elementor-element-2f14c2f > .e-con-inner > .elementor-background-slideshow::before, .elementor-3615 .elementor-element.elementor-element-2f14c2f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-3615 .elementor-element.elementor-element-fb0dd9f{--spacer-size:234px;}.elementor-3615 .elementor-element.elementor-element-a04ce12.elementor-element{--align-self:center;}.elementor-3615 .elementor-element.elementor-element-6fd3b29{--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-3615 .elementor-element.elementor-element-6fd3b29:not(.elementor-motion-effects-element-type-background), .elementor-3615 .elementor-element.elementor-element-6fd3b29 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#40916C;}.elementor-3615 .elementor-element.elementor-element-3ecce1b{--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-3615 .elementor-element.elementor-element-3ecce1b:not(.elementor-motion-effects-element-type-background), .elementor-3615 .elementor-element.elementor-element-3ecce1b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #40916C 0%, #081C15 100%);}.elementor-3615 .elementor-element.elementor-element-ba9057a{--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-3615 .elementor-element.elementor-element-b86b8dd{--display:flex;}.elementor-3615 .elementor-element.elementor-element-ef33e3a .elementor-heading-title{font-size:26px;color:#D8F3DC;}.elementor-3615 .elementor-element.elementor-element-de586e8{color:#D8F3DC;}.elementor-3615 .elementor-element.elementor-element-03b75bc{--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;--border-radius:17px 17px 17px 17px;}.elementor-3615 .elementor-element.elementor-element-68e0684{--display:flex;}.elementor-3615 .elementor-element.elementor-element-b62ad18 .elementor-heading-title{font-family:"guess";font-size:19px;color:#D8F3DC;}.elementor-3615 .elementor-element.elementor-element-223317b{--display:flex;--border-radius:13px 13px 13px 13px;}.elementor-3615 .elementor-element.elementor-element-c23c86e{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-3615 .elementor-element.elementor-element-78c8447{--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-3615 .elementor-element.elementor-element-a632356{--display:flex;}.elementor-3615 .elementor-element.elementor-element-7484915{--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-3615 .elementor-element.elementor-element-7484915:not(.elementor-motion-effects-element-type-background), .elementor-3615 .elementor-element.elementor-element-7484915 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#081C15;}@media(min-width:690px){.elementor-3615 .elementor-element.elementor-element-ba9057a{--width:70%;}.elementor-3615 .elementor-element.elementor-element-78c8447{--width:40%;}}@media(max-width:689px){.elementor-3615 .elementor-element.elementor-element-2f14c2f:not(.elementor-motion-effects-element-type-background), .elementor-3615 .elementor-element.elementor-element-2f14c2f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;}.elementor-3615 .elementor-element.elementor-element-c23c86e{--width:357px;}}/* Start custom CSS for mphbe-accommodation-title, class: .elementor-element-a04ce12 *//* ===== 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-dd8b46f *//* ======= Xanthus · Galería horizontal MPHB / WP Gallery / Swiper ======= *//* ".elementor-3615 .elementor-element.elementor-element-dd8b46f" apunta al contenedor del widget en Elementor */.elementor-3615 .elementor-element.elementor-element-dd8b46f{  /* Tokens rápidos (ajusta libremente) */  --gap:16px;  --item-w:clamp(200px,26vw,360px);  --img-h:clamp(140px,18vw,240px);  --radius:12px;  --shadow:0 6px 20px rgba(0,0,0,.12);  --shadow-hover:0 10px 28px rgba(0,0,0,.18);  --thumb:rgba(0,0,0,.15);  --thumb-hover:rgba(0,0,0,.35);}/* Contenedor con scroll horizontal + snap (MPHB y WP Gallery) */.elementor-3615 .elementor-element.elementor-element-dd8b46f :is(.mphb-room-type-gallery,.mphb-gallery,.gallery){  display:flex !important;  flex-wrap:nowrap !important;  gap:var(--gap);  overflow-x:auto;  overflow-y:hidden;  scroll-snap-type:x proximity;  padding:6px 2px 10px;  -webkit-overflow-scrolling:touch;  /* Scrollbar minimalista (FF/Chromium/WebKit) */  scrollbar-width:thin;  scrollbar-color:transparent transparent;}/* Pista/scrollbar WebKit */.elementor-3615 .elementor-element.elementor-element-dd8b46f :is(.mphb-room-type-gallery,.mphb-gallery,.gallery)::-webkit-scrollbar{  height:6px;}.elementor-3615 .elementor-element.elementor-element-dd8b46f :is(.mphb-room-type-gallery,.mphb-gallery,.gallery)::-webkit-scrollbar-track{  background:transparent;}.elementor-3615 .elementor-element.elementor-element-dd8b46f :is(.mphb-room-type-gallery,.mphb-gallery,.gallery)::-webkit-scrollbar-thumb{  background:var(--thumb);  border-radius:999px;  transition:background .25s ease;}.elementor-3615 .elementor-element.elementor-element-dd8b46f :is(.mphb-room-type-gallery,.mphb-gallery,.gallery)::-webkit-scrollbar-thumb:hover{  background:var(--thumb-hover);}/* Ítems (MPHB y WP Gallery) */.elementor-3615 .elementor-element.elementor-element-dd8b46f :is(.mphb-gallery-item,.gallery-item,.gallery > figure){  flex:0 0 var(--item-w);  width:auto !important;  scroll-snap-align:start;}/* Imágenes */.elementor-3615 .elementor-element.elementor-element-dd8b46f img{  width:100%;  height:var(--img-h);  object-fit:cover;  border-radius:var(--radius);  display:block;  box-shadow:var(--shadow);  transition:transform .25s ease, box-shadow .25s ease;  /* Suaviza CLS en navegadores modernos sin romper nada */  contain:content;}@media (prefers-reduced-motion: reduce){  .elementor-3615 .elementor-element.elementor-element-dd8b46f img{ transition:none; }}.elementor-3615 .elementor-element.elementor-element-dd8b46f img:hover{  transform:translateY(-2px);  box-shadow:var(--shadow-hover);}/* ===== Swiper: compatibilidad ===== */.elementor-3615 .elementor-element.elementor-element-dd8b46f .swiper{  /* Si Swiper pone el overflow aquí, también ocultamos/minimizamos scrollbar */  scrollbar-width:thin;  -ms-overflow-style:none;}.elementor-3615 .elementor-element.elementor-element-dd8b46f .swiper::-webkit-scrollbar{  height:6px;}.elementor-3615 .elementor-element.elementor-element-dd8b46f .swiper-wrapper{  display:flex !important;  gap:var(--gap);            /* funciona en Swiper >=8 con CSS gap */}.elementor-3615 .elementor-element.elementor-element-dd8b46f .swiper-slide{  width:var(--item-w) !important;}/* ===== Opcional: ocultar completamente la barra (toggle) =====   Agrega data-hide-scrollbar="true" al widget si quieres ocultarla del todo */.elementor-3615 .elementor-element.elementor-element-dd8b46f[data-hide-scrollbar="true"] :is(.mphb-room-type-gallery,.mphb-gallery,.gallery,.swiper){  scrollbar-width:none; -ms-overflow-style:none;}.elementor-3615 .elementor-element.elementor-element-dd8b46f[data-hide-scrollbar="true"] :is(.mphb-room-type-gallery,.mphb-gallery,.gallery,.swiper)::-webkit-scrollbar{  height:0; width:0; background:transparent;}/* ===== Detalles UX extra ===== *//* Pistas de overflow con máscara sutil (navegadores modernos) */@supports (mask-image: linear-gradient(black, white)){  .elementor-3615 .elementor-element.elementor-element-dd8b46f :is(.mphb-room-type-gallery,.mphb-gallery,.gallery){    mask-image: linear-gradient(90deg, transparent 0, black 12px, black calc(100% - 12px), transparent 100%);    -webkit-mask-image: linear-gradient(90deg, transparent 0, black 12px, black calc(100% - 12px), transparent 100%);  }}/* Accesibilidad: foco visible en imágenes linkeadas */.elementor-3615 .elementor-element.elementor-element-dd8b46f a:focus-visible img{  outline:2px solid rgba(0,0,0,.5);  outline-offset:2px;  box-shadow:var(--shadow-hover);}/* End custom CSS */
/* Start custom CSS for mphbe-accommodation-attribute, class: .elementor-element-55b9b11 *//* ====== 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-5ecc06b *//* ===== Variables rápidas ===== */
.elementor-3615 .elementor-element.elementor-element-5ecc06b{
  --cap-font: 16px;
  --cap-color: #fff;
  --cap-gap: 12px;
  --cap-icon-size: 26px;
  --cap-filter: none;
}

/* Lista */
.elementor-3615 .elementor-element.elementor-element-5ecc06b .mphb-single-room-type-attributes{
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Quitar marcador nativo */
.elementor-3615 .elementor-element.elementor-element-5ecc06b .mphb-single-room-type-attributes li::marker{ content:""; }

/* Fila: icono + texto */
.elementor-3615 .elementor-element.elementor-element-5ecc06b .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-3615 .elementor-element.elementor-element-5ecc06b .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-3615 .elementor-element.elementor-element-5ecc06b .mphb-room-type-adults-capacity{
  --cap-icon-url: url('https://xanthushotel.com/wp-content/uploads/2025/06/Untitled-1-02.svg');
}
.elementor-3615 .elementor-element.elementor-element-5ecc06b .mphb-room-type-children-capacity{
  --cap-icon-url: url('https://xanthushotel.com/wp-content/uploads/2025/06/Untitled-1-02.svg');
}
.elementor-3615 .elementor-element.elementor-element-5ecc06b .mphb-room-type-babies-capacity{
  --cap-icon-url: url('/icons/baby.svg');
}
.elementor-3615 .elementor-element.elementor-element-5ecc06b .mphb-room-type-pets-capacity{
  --cap-icon-url: url('/icons/pet.svg');
}

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


/* Adultos */
.elementor-3615 .elementor-element.elementor-element-5ecc06b .mphb-room-type-adults-capacity .mphb-attribute-title {
  font-size:0; /* oculta texto original pero mantiene el elemento */
}
.elementor-3615 .elementor-element.elementor-element-5ecc06b .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-3615 .elementor-element.elementor-element-5ecc06b .mphb-room-type-children-capacity .mphb-attribute-title {
  font-size:0;
}
.elementor-3615 .elementor-element.elementor-element-5ecc06b .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-a4b0b65 *//* 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-6343aaa *//* ===== 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-9aef6b8 *//* 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-6a215e3 *//* == Servicios MPHB (scope del widget) == */
.elementor-3615 .elementor-element.elementor-element-6a215e3 .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-3615 .elementor-element.elementor-element-6a215e3 .mphb-service-title,
.elementor-3615 .elementor-element.elementor-element-6a215e3 .mphb-service-title a,
.elementor-3615 .elementor-element.elementor-element-6a215e3 .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-3615 .elementor-element.elementor-element-6a215e3 .mphb-price-wrapper,
.elementor-3615 .elementor-element.elementor-element-6a215e3 .mphb-price-wrapper strong,
.elementor-3615 .elementor-element.elementor-element-6a215e3 .mphb-price-wrapper .mphb-price,
.elementor-3615 .elementor-element.elementor-element-6a215e3 .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-85b2304 *//* 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-c04e24b *//* == Xanthus | MPHB Accommodation Rates (Airbnb-ish, centrado siempre) == */

/* --------------------------------------
   0) Variables de marca
--------------------------------------- */
.elementor-3615 .elementor-element.elementor-element-c04e24b{
  --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-3615 .elementor-element.elementor-element-c04e24b .elementor-widget-container{
  background: var(--rt-bg);
  border-radius: var(--rt-radius-lg);
}

/* --------------------------------------
   2) Lista
--------------------------------------- */
.elementor-3615 .elementor-element.elementor-element-c04e24b .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-3615 .elementor-element.elementor-element-c04e24b .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-3615 .elementor-element.elementor-element-c04e24b .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-3615 .elementor-element.elementor-element-c04e24b .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-3615 .elementor-element.elementor-element-c04e24b .mphb-room-rates-list br{ display:none !important; }

.elementor-3615 .elementor-element.elementor-element-c04e24b .mphb-room-rates-list > li .mphb-price-period{
  font-size: 13px;
  color: var(--rt-muted);
  margin-left: 0 !important;
  white-space: normal;
}
.elementor-3615 .elementor-element.elementor-element-c04e24b .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-3615 .elementor-element.elementor-element-c04e24b .mphb-room-rates-list > li em,
.elementor-3615 .elementor-element.elementor-element-c04e24b .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-3615 .elementor-element.elementor-element-c04e24b .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-3615 .elementor-element.elementor-element-c04e24b .mphb-room-rates-list .mphb-price .mphb-currency{
  font-weight:700;
  font-size: .8em;
  vertical-align: top;
}
.elementor-3615 .elementor-element.elementor-element-c04e24b .mphb-room-rates-list .mphb-price-period{
  order: 3;
}


/* --------------------------------------
   7) Accesibilidad
--------------------------------------- */
.elementor-3615 .elementor-element.elementor-element-c04e24b .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-3615 .elementor-element.elementor-element-c04e24b{ --rt-code: " MXN"; } /* cambia el texto si lo necesitas */
.elementor-3615 .elementor-element.elementor-element-c04e24b .mphb-room-rates-list .mphb-price{
  white-space: nowrap; /* evita salto entre número y MXN */
}
.elementor-3615 .elementor-element.elementor-element-c04e24b .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-141ab6e *//* == Xanthus | Booking Form - Barra Horizontal (Optimizado, sin dark forzado) == */
/* 0) Tokens rápidos */
.elementor-3615 .elementor-element.elementor-element-141ab6e{
  /* Layout / espaciados */
  --xf-height: 54px;
  --xf-radius: 14px;
  --xf-gap: 10px;
  --xf-pad: 10px;
  --xf-field-pad-x: 14px;

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

  /* Tipografía y colores */
  --xf-font: inherit;
  --xf-text: #111827;
  --xf-muted: #fff;          /* labels más legibles que #D8F3DC */
  --xf-bg: #1B4332;

  /* Campos */
  --xf-field-bg: #D8F3DC;
  --xf-field-text: #081C15;     /* <— FIX: el valor anterior era inválido */
  --xf-field-border: rgba(0,0,0,.14);
  --xf-field-border-hover: rgba(0,0,0,.25);
  --xf-placeholder-color: rgba(17,24,39,.45);

  /* Foco */
  --xf-focus-border: #2563eb;
  --xf-focus-ring: rgba(37,99,235,.16);

  /* Botón */
  --xf-accent: #081C15;
  --xf-accent-hover: #0b2a22;
  --xf-btn-text: #ffffff;
}

/* 1) Contenedor principal */
.elementor-3615 .elementor-element.elementor-element-141ab6e .elementor-widget-container{
  max-width: 1100px;
  margin-inline: auto;
}
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb_sc_booking_form-wrapper,
.elementor-3615 .elementor-element.elementor-element-141ab6e 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 (sin cambios estructurales) */
.elementor-3615 .elementor-element.elementor-element-141ab6e 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-3615 .elementor-element.elementor-element-141ab6e .mphb-check-in-date-wrapper{  grid-area: in; }
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-check-out-date-wrapper{ grid-area: out; }
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-adults-wrapper{         grid-area: adu; }
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-children-wrapper{       grid-area: chi; }
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-reserve-room-section{   grid-area: info; }
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-reserve-btn-wrapper{    grid-area: btn; }
.elementor-3615 .elementor-element.elementor-element-141ab6e form.mphb-booking-form p{ margin:0 !important; }
.elementor-3615 .elementor-element.elementor-element-141ab6e form.mphb-booking-form p > br{ display:none; }

/* 3) Campos base (colores/foco, alturas intactas) */
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-booking-form :where(
  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;
  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-3615 .elementor-element.elementor-element-141ab6e .mphb-booking-form ::placeholder{ color: var(--xf-placeholder-color); }
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-booking-form :is(input,select):hover{ border-color: var(--xf-field-border-hover); }

/* Foco sin brinco (1px fijo + anillo) */
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-booking-form :is(input,select,.mphb-datepick):focus{
  border-color: var(--xf-focus-border);
  box-shadow: 0 0 0 3px var(--xf-focus-ring);
}
@supports .elementor-3615 .elementor-element.elementor-element-141ab6e(:focus-visible){
  .elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-booking-form :is(input,select,.mphb-datepick){ box-shadow: none; }
  .elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-booking-form :is(input,select,.mphb-datepick):focus{ box-shadow: none; }
  .elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-booking-form :is(input,select,.mphb-datepick):focus-visible{
    border-color: var(--xf-focus-border);
    box-shadow: 0 0 0 3px var(--xf-focus-ring);
  }
}

/* Quita spinners numéricos en WebKit (sin romper accesibilidad) */
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-booking-form input[type="number"]::-webkit-outer-spin-button,
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-booking-form input[type="number"]::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-booking-form input[type="number"]{ -moz-appearance: textfield; }

/* Select: caret limpio con SVG que hereda contraste */
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-booking-form select{
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(0,0,0,.10) 50%),
    linear-gradient(135deg, rgba(0,0,0,.60) 50%, transparent 50%);
  background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 40px;
}

/* 3.1) Accesibilidad: labels ocultos visualmente (manteniendo para lectores) */
.elementor-3615 .elementor-element.elementor-element-141ab6e .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 */
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-rooms-quantity-wrapper:not(.mphb-hide),
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-rooms-quantity{ width:100%; }

/* 5) Botones (ambos tipos) */
.elementor-3615 .elementor-element.elementor-element-141ab6e .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: 0;
  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-3615 .elementor-element.elementor-element-141ab6e .mphb-booking-form .mphb-button:hover{
  background: var(--xf-accent-hover);
  box-shadow: 0 8px 22px rgba(0,0,0,.18);
}
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-booking-form .mphb-button:active{ transform: translateY(1px); }

/* FIX: “Comprobar disponibilidad” (.mphb-reserve-btn.button) */
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-booking-form .mphb-reserve-btn.button{
  background: var(--xf-accent) !important;
  color: var(--xf-btn-text) !important;
  border: 0 !important;
  border-radius: calc(var(--xf-radius) - 6px) !important;
  box-shadow: none !important;
}
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-booking-form .mphb-reserve-btn.button:hover{
  background: var(--xf-accent-hover) !important;
  color: var(--xf-btn-text) !important;
}
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-booking-form :is(.mphb-button,.mphb-reserve-btn.button)[disabled],
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-booking-form[aria-busy="true"] :is(.mphb-button,.mphb-reserve-btn.button){
  opacity:.65; cursor:not-allowed;
}

/* 6) Sección info */
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-reserve-room-section{
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: 0;
  padding: 8px 0 0;
  text-align: center;
}
.elementor-3615 .elementor-element.elementor-element-141ab6e .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-3615 .elementor-element.elementor-element-141ab6e .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-3615 .elementor-element.elementor-element-141ab6e .mphb-reserve-room-section .mphb-period-price .mphb-price-period{
  text-decoration: none !important;
  border-bottom: 0 !important;
}

/* 7) Datepicker sobre todo */
.elementor-3615 .elementor-element.elementor-element-141ab6e :is(.ui-datepicker, .mphb-ui-datepicker, .hasDatepicker.ui-datepicker){
  z-index: 999999 !important;
}

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

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

/* 10) Labels visibles en Adultos y Niños */
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-adults-wrapper label,
.elementor-3615 .elementor-element.elementor-element-141ab6e .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;
}

/* 11) Labels visibles en Check-in y Check-out */
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-check-in-date-wrapper label,
.elementor-3615 .elementor-element.elementor-element-141ab6e .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-3615 .elementor-element.elementor-element-141ab6e .mphb-check-in-date-wrapper label::after { content: "Hora de llegada"; }
.elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-check-out-date-wrapper label::after { content: "Hora de salida"; }
.elementor-3615 .elementor-element.elementor-element-141ab6e :is(.mphb-check-in-date-wrapper, .mphb-check-out-date-wrapper) label{ font-size: 0; }
.elementor-3615 .elementor-element.elementor-element-141ab6e :is(.mphb-check-in-date-wrapper, .mphb-check-out-date-wrapper) label::after{ font-size: 13px; }

/* 12) Preferencias de movimiento (suaviza animaciones en usuarios sensibles) */
@media (prefers-reduced-motion: reduce){
  .elementor-3615 .elementor-element.elementor-element-141ab6e .mphb-booking-form *{
    transition: none !important;
    animation: none !important;
  }
}/* 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 */