@font-face {
  font-family: "Maisons";
  src: url("maison_neue_book.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Maisons";
  src: url("maison_neue_light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Maisons";
  src: url("maison_neue_bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Maisons Mono";
  src: url("maison_neue_mono.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root {
  --bg_transparente: rgba(0, 0, 0, 0.337);
  --bg_transparente2: rgba(0, 0, 0, 0.7);
  --azulin: #75c1fc;
  --rosa: #ff42a7;
  --rosa_claro: #ff95ca;
  --color_airbnb: #e61e4d;
  --c1: #FF968D;
  --c2: #222222;
  --transition_header_scroll_seg: .5s;
}
*, *:before, *:after {
  box-sizing: border-box;
}
p {
  margin: 0;
}
p:has(+p) {
  margin-bottom: 20px;
}
html {
  scroll-padding-top: 95px;
  scroll-behavior: smooth;
}
body {
  background: #FFF;
  margin: 0 auto;
  color: #000;

    font-weight: 300;
    line-height: 1.3;
    font-family: 'Maisons', sans-serif;
}
main a {
  font-family: 'Maisons', sans-serif;
  color: #000;
  text-decoration: underline;
}
/* main a:hover {
  text-decoration: none;
  color:var(--c2);
} */
button, input, optgroup, select, textarea {
  font-family: inherit;
  font-weight: 300;
}
figure {
  margin: 0px;
  width: 100%;
}
figure img {
  width: 100%;
}
h1, h2, h3, h4, h5 {
  margin: 0;
  font-weight: 700;
}
h1 {
  font-size: 1.875rem;
}
h2 {
  font-size: 1.4rem;
}
button {
  cursor: pointer;
}
button[type=submit]:disabled {
  cursor: default;
}

a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
}
strong {
  font-weight: 700;
}
select {
  color: #000;
}
#cargando {
  display: none;
  position: fixed;
  z-index: 1000000000;
  margin: 60px auto;
  width: 100%;
  text-align: center;
}
#cargando .pelota {
  border: 3px solid;
  border-color: var(--rojo) #FFF;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  box-shadow: 0 0 15px var(--rojo);
  width: 60px;
  height: 60px;
  margin: 0 auto;
  z-index: -1;
  animation: loop 2.5s infinite linear;
  background: rgba(188, 9, 38, 0.663);
}
#cargando p {
  position: relative;
  top: calc(-0.675rem + -30px);
  font-size: 0.675rem;
  font-weight: 400;
  color: #FFF;
}
@keyframes loop {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.videoEmbed {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 25px;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}
.videoEmbed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.videoEmbed video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.w_max {
  max-width: 1300px;
  margin: 0 auto;
}
button.leer_mas {
    background: none;
    border: none;
    font-weight: 700;
    padding: 0;
    color: inherit;
}
/*Menu hamburguesa*/
#botonMenu {
  width: 20px;
  height: 11px;
  cursor: pointer;
  color: var(--color-hamburguesa,#fff);
  border: 1px solid;
  border-width: 1px 0 0;
  display: block;
  position: absolute;
  top: 24px;
  left: 15px;
  transition: color var(--transition_header_scroll_seg), background-color var(--transition_header_scroll_seg);
}
#botonMenu::before {
  display: block;
  height: 1px;
  content: ' ';
  width: 80%;
  margin-top: 6px;
  background: var(--color-hamburguesa, #fff);
  transition: inherit;
}
#botonMenu::after {
	content: '';
    position: absolute;
    inset: -0.5rem;
}
#menu {
  display: none;
  color: #222;
  position: relative;
}
#menu > .cerrar {
  position: absolute;
  right: 20px;
  font-size: 2.5rem;
  top: 7px;
  cursor: pointer;
}
body.ham {
  overflow-y: hidden;
}
#apagon {
  display: none;
}
.ham .apagon {
  opacity: 0.4;
  background: #000;
  display: block;
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 99998;
}
.ham .pHeader {
  z-index: 999999;
}
.ham #menu {
  position: fixed;
  display: block;
  top: 0;
  left: 0;
  bottom: 0;
  background: url(/imgs/unique3.svg) 50% 23px / 130px no-repeat #FFF;
  color: #000;
  z-index: 100000;
  padding: 5px 0 20px;
  box-shadow: 0 0 17px rgba(68, 68, 68, 0.1);
  width: 100%;
  overflow-y: scroll;
  animation: menuIn 0.6s;
  padding: 100px 20px 20px 20px;
}
@keyframes menuIn {
  from {
    left: -300px;
  }
  to {
    left: 0;
  }
}
.ham #menu strong {
  font-size: 1.375rem;
  width: 100%;
  display: block;
  cursor: pointer;
  position: relative;
}
.ham #menu strong:after {
  content: ">";
  position:absolute;
  right: 0;
  text-align: right;
}

.ham #menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ham #menu li {
  margin-bottom: 1rem;
}
.ham #menu > a {
  display: block;
  padding: 1.6rem 2rem;
  letter-spacing: 0.18rem;
  font-weight: 300;
  color: #000;
  border-bottom: 1px solid #CCC;
}
.ham #menu > a:nth-last-of-type(1), .ham #menu > a:nth-last-of-type(2) {
  font-weight: 500;
  text-transform: uppercase;
  border-bottom: none;
  padding-left: 30px;
}
.ham #menu > a:nth-last-of-type(2) {
  margin-top: 20px;
}

.ham #menu .sub.ver {
  display: block;
}
.ham #menu .sub {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  background: #FFF;
  color: #000;
  padding: 5px 0 20px;
  box-shadow: 0 0 17px rgba(68, 68, 68, 0.1);
  width: 100%;
  overflow-y: scroll;
  animation: menuIn 0.6s;
  padding: 10px 20px 20px 20px;
  z-index: 1;
}
.ham #menu .sub header {
  display: flex;
  justify-content: space-between;
  font-size: 1.7rem;
  font-weight: 700;
  align-items: center;
  margin-bottom: 50px;
  text-transform: uppercase;
  line-height: 1.5;
}
#sub-Villas li a, #sub-Tours li a {
  display: flex;
}
#sub-Villas li a span:first-child, #sub-Tours li a span:first-child {
  width: 150px
}
.ham #menu .sub header span {
  font-size: 2.5rem;
  font-weight: 300;
  cursor: pointer;
  width: 20px;
  top: -2px;
  position: relative;
}
.ham #menu .sub .volver {
  font-size: 1.5rem;
  font-weight: 800;
}

.ham .pHeader #menu span.idioma {
  display: block;
  letter-spacing: 0.18rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #000;
  padding-left: 30px;
  font-size: 1rem;
}
.ham .pHeader #menu span.idioma a {
  display: inline-block;
  border-bottom: none;
  padding: 15px;
  font-weight: 500;
}
.ham #menu a#aLifestyle {
  color:var(--c1);
  font-family: 'Maisons', sans-serif;
  font-weight: 500;
}
/**/
/*cabecera*/
.pHeader {
  text-align: left;
  padding: 15px 10px;
  background: #0000001a;
  color: #222;
  display: block;
  margin: 0 auto;
  width: 100%;
  /* position: sticky; */
  top: 0;
  left: 0;
  z-index: 1000;
  transition: color var(--transition_header_scroll_seg), background-color var(--transition_header_scroll_seg);
  background: #FFF;
  --color-hamburguesa: #000;
  --color-textos: #000;
  position: relative;
}
#logo {
  text-indent: -1000000px;
  margin: 0 auto;
  font-size: 2em;
}
#logo a {
  display: block;
  background: url(/imgs/unique3.svg) 50% 50% / 100% no-repeat;
  width: 120px;
  margin: 0 auto;
  line-height: 0.8em;
}

.pHeader .h2 {
  margin-top: 60px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  text-decoration: underline;
}
.pHeader .h3 {
  margin-top: 60px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.pHeader .h3 a {
  display: inline-block;
  width: 150px;
  border: 1px solid;
  border-radius: 20px;
  padding: 12px 0;
  text-align: center;
}
.pHeader .h3 a.disponibilidad_airbnb {
  color: #fff;
  background: var(--color_airbnb);
  border-color: var(--color_airbnb);
}
/*Pie*/
.pFooter {
  background: #E4E4E4;
  margin-top: 60px;
  padding: 20px 0;
}

.bMascotas .pFooter {
  margin-top: 0;
}

.pFooter .f1 {
  padding: 15px;
}
.pFooter .f2 {
  text-align: center;
  font-size: 1.1rem;
}
.pFooter .f2 a {
  margin: 5px 10px;
  display: inline-block;
  white-space: nowrap;
  font-size: 0.88rem;
}
.pFooter .f1 ul li {
  font-family: 'Maisons', sans-serif;
  font-weight: 500;
  text-align: center;
  display: block;
  margin: 0 0 30px 0;
}
.pFooter .f1 ul li a {
  border-bottom: 1px solid #000;
  padding: 10px;
  display: block;
  margin-bottom: 10px;
  font-size: 0.95rem;
}
.pFooter .mpie_villas {
  color: var(--c1);
  font-family: 'Maisons', sans-serif;
  font-weight: 500;
}
.pFooter .f1 ul li a.facebook {
  border: none;
  width: 30px;
  height: 30px;
  text-indent: -9999px;
  background: url(../imgs/facebook.svg) 50% 50% / contain no-repeat;
  margin: 50px 15px 10px;
  display: inline-block;
  float: none;
}
.pFooter .f1 ul li div {
  text-align: center;
}
.pFooter .f1 ul li a.instagram {
  border: none;
  width: 30px;
  height: 30px;
  text-indent: -9999px;
  background: url(../imgs/instagram.svg) 50% 50% / contain no-repeat;
  margin: 50px 15px 10px;
  display: inline-block;
  float: none;
}
/*.pFooter .f1 ul li#fLILifestyle a {
  color: #FF968D;
}*/
.pFooter .f1 ul li#fLILifestyle li a {
  color: #000;
}
.pFooter .f1 ul li ul li {
  font-family: 'Maisons', sans-serif;
  font-weight: 300;
  text-align: center;
  line-height: 1.3rem;
  margin: 0px;
}
.pFooter .f1 ul li ul li a {
  border-bottom: none;
  margin: 0;
  font-size: 0.88rem;
}
#aIrArriba {
  color: #FFF;
  background: #000;
  padding: 10px 20px;
  width: 90%;
  margin: 0 auto 30px;
  display: block;
  text-align: center;
  clear: both;
}
#aIrArriba:before {
  content: "\25B4    ";
}

.pFooter span.idioma {
  display: block;
  letter-spacing: 0.18rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #000;
  display: flex;
  justify-content: space-around;
  margin-bottom: 20px;
}
.pFooter span.idioma a {
  font-weight: 400;
}

.bInicio .pFooter {
  padding-bottom: 80px;
}

@media screen and (min-width: 640px) {
  .pFooter .f1 ul li {
    margin: 0 1% 30px;
    width: 48%;
    float: left;
  }
  .pFooter .f1 ul li li {
    width: 100%;
  }
}
/*contenidos*/
.mainPrincipal h1 {
  text-align: center;
  margin: 50px auto 15px;
  text-transform: uppercase;
  font: 400 1.85rem / 1.1 'Maisons', sans-serif;
}
a.ActivarSonido {
  display: none;
  width: 60px;
  height: 60px;
  border-radius: 30px;
  z-index: 999999999;
  position: absolute;
  left: 50%;
  text-indent: -9999px;
  cursor: pointer;
  pointer-events: all;
  margin: -100px 0 0 -25px;
  opacity: 0.3;
  background: url(../imgs/speaker.svg) 50% 50% / 30px no-repeat #FFF;
}
a.Vervideo {
  width: 60px;
  display: block;
  height: 60px;
  z-index: 9999;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  text-indent: -999px;
  cursor: pointer;
  pointer-events: all;
  background: url(../imgs/play.svg) 64% 50% / 50px no-repeat transparent;
}
p.txtGrande {
  font-size: 0.83rem;
}
p.txtPeque {
  font-size: 0.85rem;
  line-height: 1.4rem;
}
small {
  line-height: 1.2rem;
}
.box {
  position: relative;
  width: 100%;
  /* desired width */
  margin: 5px;
}
.box:before {
  content: "";
  display: block;
  padding-top: 100%;
  /* initial ratio of 1:1*/
}
.content {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  color: #FFF;
  height: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: column;
}

@keyframes fondo_loop {
  60% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.bInicio .banner_video {
  /*position: fixed;*/
  top: 2px;
  position: relative;
  /*z-index: -1;*/
  overflow: hidden;
  min-height: auto !important;
  z-index: 1;
  /*pointer-events: none;*/
  margin-bottom: 3rem;
  width: 100%;
  padding: 0 10px;
}
.bInicio .banner_video img {
  /*object-fit: cover;*/
  /*height: 100vh;*/
  width: 100%;
  border-radius: 20px;
}
.bInicio .banner_video video {
  display: none;
}
.bInicio .banner_video iframe {
  display: none;
  pointer-events: none;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 20px;
}
.bInicio .portada {
  display: flex;
  flex-direction: column;
  color: #FFF;
  text-transform: uppercase;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 72vh;
}
.bInicio .portada .bg {
  z-index: -1;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.bInicio .portada img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
}
.bInicio.portada img:not(:last-of-type) {
  opacity: 0;
}
.bInicio .portada img.loop {
  animation: fondo_loop var(--duracion, 5s) linear 1 forwards;
}
.bInicio .portada span {
  font-size: 1.4rem;
  font-weight: 500;
}
.bInicio .portada h1 {
  margin: 15px 0 20px;
  font-size: 3.2rem;
}
.bInicio .portada a {
  font-size: 1.3rem;
  line-height: 1.769;
  font-weight: 500;
  padding: 10px 30px;
  border: 1px solid #FFF;
}
/*contenido_web*/
.mContenidoWeb {
  padding: 40px 20px;
  line-height: 1.1;
  margin: 0 auto;
  max-width: 800px;
}
.mContenidoWeb h1 {
  font-size: 2rem;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.mContenidoWeb h2 {
  font-size: 1rem;
  margin-bottom: 10px;
  font-weight: 500;
}
.mContenidoWeb h3 {
  font-size: 1.2rem;
  margin-bottom: 10px;
  font-weight: 500;
}
.mContenidoWeb li {
  margin-bottom: 8px;
}
.mContenidoWeb.mapaweb ul {
  padding: 0 40px;
  list-style: disc;
}
.mContenidoWeb.mapaweb ul li {
  margin: 20px 0;
}
/**/
#map-canvas-contacto {
  height: 392px;
  width: 100%;
  margin: 0 0 30px;
}
/**/
.w_btn {
  text-align: center;
}
.btn_enlace {
  display: inline-block;
  font-size: 1.3rem;
  line-height: 1.8;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06rem;
  padding: 0.25rem 0;
  text-decoration: none;
  position: relative;
  border: none;
  background: none;
  color: #000;
}
.btn_enlace::after {
  position: absolute;
  bottom: 0px;
  left: 0px;
  display: block;
  height: 1px;
  width: 100%;
  transition-property: all;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  content: '';
  background-color: #000;
}
.mainPrincipal {
  --sec-margin-bottom: 5rem;
  --sec-margin-bottom_resta: -3rem;
}
.mainPrincipal > section {
  margin-bottom: var(--sec-margin-bottom);
}
/**/
.mainPrincipal:not(.mInicio) {
  margin-top: 40px;
}
.mainPrincipal h1 {
  margin: 0 0 60px;
  font-size: 3.2rem;
}
@media screen and (min-width: 768px) {
  .mainPrincipal h1 {
    font-size: 4rem;
  }
}
@media screen and (min-width: 1000px) {
  .mainPrincipal h1 {
    font-size: 6rem;
  }
}
/*POPUP*/
/*POPUP*/
.backgPop {
    position: fixed;
    z-index: 99999;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.7);
    transition: all 0.3s ease;
  }
  .PopCont {
    max-width: 600px;
    font: normal 300 1rem / 1.3 'Maisons', sans-serif;
    color: #000;
    text-align: center;
    box-shadow: 0 0 80px #666;
    z-index: 99999;
    width: 87%;
    position: fixed;
    transition: all 0.3s ease;
    border-radius: 3px;
    background: #FFF;
    padding: 40px 20px 0;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 30px;
  }
  .PopCont img {
    width: calc(100% + 40px);
    height: auto;
    margin-left: -20px;
    display: block;
    aspect-ratio: 1.3;
    object-fit: cover;
    border-bottom-right-radius: 30px;
    border-bottom-left-radius: 30px;
  }
  .PopCont header {
    font-size: 1.6rem;
    margin-bottom: 30px;
    font-weight: 300;
  }
  .PopCont header small {
    display: block;
    font-size: 1rem;
    font-weight: 300;
  }
  .PopCont a.botonPop, .PopCont button.butonPop {
    border: none;
    color: #000;
    background: #FFF;
    padding: 10px 0px;
    border-radius: 3px;
    display: block;
    width: 250px;
    margin: 0 auto;
    font-size: 1rem;
    position: relative;
    z-index: 999999999;
  }
  .PopCont a.botonPop {
    color: #000;
    background: #fff;
    position: absolute;
    bottom: 30px;
    left: 50%;
    translate: -50%;
    border-radius: 30px;
  }
  .PopCont button.butonPop {
    box-shadow: 0 0 80px #666;
    display: none;
    border-radius: 30px;
  }
  .PopCont p {
    margin: 0 0 3px 0;
  }
  .PopCont .txt {
    margin-bottom: 40px;
    line-height: 1.2;
    font-size: 1rem;
  }
  .PopCont p.pre_img {
    text-decoration: underline;
    margin-bottom: 20px;
    font-size: 0.9rem;
    line-height: 1.5;
  }
  .btnCerrar {
    background: #000;
    cursor: pointer;
    color: #FFF;
    display: block;
    width: 24px;
    text-align: center;
    height: 24px;
    line-height: 23px;
    border-radius: 12px;
    position: absolute;
    top: -12px;
    left: -12px;
  }
  .backgPop.Minimizar {
    display: none;
  }
  .PopCont.Minimizar {
    padding: 0;
    margin: 0;
    background-color: transparent;
    width: 100%;
    box-shadow: none;
    bottom: 20px;
    transform: translate(-50%);
    top: auto;
  }
  .PopCont.Minimizar .in {
    display: none;
    box-shadow: none;
  }
  @media screen and (min-width: 600px) {
    .PopCont {
      padding: 60px 40px 0;
    }
    .PopCont a.botonPop, .PopCont button.butonPop {
      width: 300px;
    }
     .PopCont img {
       width: calc(100% + 80px);
       margin-left: -40px;
     }
  }
/**/
main > section h2 small {
  font-size: 50%;
  vertical-align: super;
  margin-left: 5px;
}
.recuerdos blockquote {
  margin-bottom: 40px;
}
main > section + .w_max {
  margin-top:var(--sec-margin-bottom_resta);
}

/**/
#pdcc-modal-accept, #pdcc-modal-config, #pdcc-modal-bg p, #pdcc-modal-bg a.pdcc-btn {
  font-size: 0.82rem !important;
}

/*OFERTAS*/
#ofertas {
  display: none;
  position: fixed;
  inset: 0;
  background: #000000c4;
  color: #000;
  z-index: 100000;
  padding: 60px 20px 20px;
  flex-direction: column;
  gap: 100px;
  z-index: 99999999;
}
#ofertas.ver {
  display: flex;
}

#ofertas .oferta {
  background: #f1f1f1;
  padding: 20px;
  border-radius: 20px;
  position: relative;
}
#ofertas .oferta.oculto {
  opacity: 0;
}
#ofertas .oferta header {
  font-size: 1.5rem;
  margin-bottom: 40px;
}
#ofertas .oferta header span {
  color: var(--azulin);
}

#ofertas .oferta p span {
  text-decoration: underline;
}

#ofertas .oferta .cerrar {
  position: absolute;
  right: 0;
  top: -60px;
  font-size: 3rem;
  color: #fff;
  cursor: pointer;
}

/*HOME*/
.mInicio {
  font-weight: 400;
}
.mInicio > section {
  padding: 0 20px;
}
.mInicio > section.sin_borde {
  padding: 0;
}
.mInicio .elija h2 {
   font-size: 2rem;
   font-weight: 400;
   margin-bottom: 15px;
}
.mInicio .elija {
  text-align: center;
   margin-top: 60px;
}
.mInicio .elija p {
  font-size: .8rem;
}

.mInicio .cinco_villas em  {
  text-decoration: underline;
  font-style: normal;
}

.mInicio .cinco_villas .botonera {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-top: 60px;
}

.mInicio .cinco_villas .btn {
  background: #000;
  border-radius: 20px;
  width: 150px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px 0 ;
}

.mInicio .villas figure {
  position: relative;
}
.mInicio .villas figure img {
  filter: brightness(0.7)
}

.mInicio .villas figure div {
  position: absolute;
  width: 250px;
  height: 250px;
  top: 50%;
  left: 50%;
  background: #fff;
  display: grid;
  place-content: center;
  text-align: center;
  border-radius: 20px;
  translate: -50% -50%;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.7rem;
}

.mInicio .villas figure .l1 {
  font-weight: 400;
  font-size: 60%;
}
.mInicio .villas figure .l3 {
  font-weight: 400;
  font-size: 60%;
  text-transform: uppercase;
}
.mInicio .villas figure .l4 {
  font-weight: 400;
  font-size: 60%;
  margin-top: 20px;
}

.mInicio .huespedes {
  background: #000;
  color: #fff;
  padding: 60px 20px 80px;
  font-size: 1.2rem;
}

.mInicio .huespedes h2 {
  font-size: 1.8rem;
  font-weight: 400;
  margin-bottom: 60px;
}

.mInicio .spot h2 {
  font-size: 1.8rem;
  font-weight: 400;
  margin-bottom: 30px;
}

.mInicio .spot #mapa {
  margin-top: 30px;
  background: #8fdaee;
  width: 100%;
  aspect-ratio: 10 / 16;
  max-height: 600px;
}

.mInicio .homefulness {
  padding: 80px 20px 60px;
  background: linear-gradient(to bottom, #000, #b2a284, #f6e9d2);
}
.mInicio .homefulness h2 {
  font-size: 1.8rem;
  font-weight: 400;
  margin-bottom: 30px;
  color: #fff;
  text-align: center;
}

.mInicio .homefulness p:nth-of-type(-n+2) {
  color: #fff
}

.mInicio .homefulness h3 {
  font-size: 1.3rem;
  font-weight: 400;
  margin: 60px 0 20px;
  text-align: center;
}

.mInicio .homefulness h3 ~ p {
  font-size: 1.3rem;
}

.mInicio .homefulness .contenido_html a {
  border-radius: 20px;
  background: #fff;
  display: block;
  margin: 0 auto;
  width: 350px;
  max-width: 100%;
  text-decoration: none;
  text-align: center;
  padding: 20px 0;
}

.mInicio .homefulness .banner_video {
  margin: 60px 0 0;
  padding: 0;
}

/*VillasConPiscina*/
.bVillasConPiscina .pHeader {
    position: fixed;
    background: transparent;
}

.bVillasConPiscina .pHeader #logo, .bVillasConPiscina #botonMenu {
    filter: invert(1) drop-shadow(0 0 6px #333);
}

.mVillasConPiscina, .mVillasConPiscina .swiper {
  width: 100%;
  height: 100vh;
}
.mVillasConPiscina figure {
  position: relative;
  width: 100%;
  height: 100%;

}
.mVillasConPiscina figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mVillasConPiscina figure .personas {
  position: absolute;
  bottom: 40px;
  left: 50%;
  translate: -50%;
  width: 200px;
  padding: 15px 0;
  background: #fff;
  text-align: center;
  border-radius: 30px;
}

.mVillasConPiscina .bullets {
  position: absolute;
  display: flex;
  align-content: center;
  align-items: center;
  gap: 10px;
  bottom: 50%;
  right: 20px;
  rotate: -90deg;
  text-transform: uppercase;
  font-size: .8rem;
  transform-origin: right;
  transition: .3s;
}
.mVillasConPiscina .bullet.activo {
  --bullet-size: 10px;
}
.mVillasConPiscina .bullet {
  width: var(--bullet-size, 6px);
  height: var(--bullet-size, 6px);
  display: inline-block;
  background: #000;
}

.bVillasConPiscina .pFooter {
  display: none;
}

/* VILLA */
.bVilla .btn_whatsapp {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 20px;
  bottom: 20px;
  background: url(/imgs/whatsapp_blanco.svg) 50% 50% / 50% auto no-repeat  #000;
  border-radius: 50%;
  z-index: 1;
}


.mVilla > section {
  padding: 0 20px;
}
.mVilla > section.sin_borde {
  padding: 0;
}

.mVilla .selector_villa {
  display: flex;
  justify-content: space-between;
  background: #d5d5d5;
  padding: 10px 20px;
}

.mVilla .selector_villa a {
  border-radius: 30px;
  background: var(--color_airbnb);
  text-decoration: none;
  color: #fff;
  padding: 5px 20px;
}
.mVilla .selector_villa select {
  border: none;
  appearance: none;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2.5rem;
}


.mVilla .banner_video {
  position: relative;
  overflow: hidden;
  min-height: auto !important;
  z-index: 1;
  margin-bottom: 3rem;
  width: 100%;
  padding: 0 10px;
  max-height: 666px;
  background: #000;
  text-align: center;
  aspect-ratio: 9 / 16;
}
.mVilla .banner_video img {
  width: 100%;
  object-fit: cover;
  height: 100%;
}
.mVilla .banner_video video {
  display: none;
}
.mVilla .banner_video iframe {
  display: none;
  pointer-events: none;
  /* width: auto; */
  aspect-ratio: 9 / 16;
  height: 100%;
  margin: 0 auto;
  /* max-width: 100%; */
}

.mVilla .botonera {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 60px;
}

.mVilla .botonera > * {
  background: none;
  border: 1px solid;
  text-decoration: none;
  padding: 10px 20px;
  border-radius: 20px;
  font-size: 0.8rem;
}

.mVilla .texto h1 {
  text-align: center;
}
.mVilla .texto h2 {
  text-align: center;
  margin-bottom:40px;
  font-weight: 400;
}
.mVilla .texto .contenido_html  {
  font-weight: 400;
}
.mVilla .texto .contenido_html p > em:first-child {
  font-size: 1.5rem;
  margin: 60px 0 0 ;
  display: block;
  font-style: inherit;
}
.mVilla .texto .contenido_html p:last-of-type {
  margin-bottom: 60px;
}

.mVilla .botonera2 > * {
  background: var(--azulin);
  border:none;
  color: #fff;
  font-size: 1.1rem;
  width: 150px;
  text-align: center;
  border-radius: 15px;
  padding: 15px 0; 
}
.mVilla .servicios {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 60px;
}

.mVilla .servicios p {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  width: 250px;
  border: 1px solid;
  border-radius: 30px;
  padding: 0 30px;
  text-align: center;
  aspect-ratio: 1
}
.mVilla .servicios strong {
  font-size: 1.5rem;
  font-weight: 400;
}
.mVilla .servicios em {
  font-style: normal;
}

.mVilla .foto {
  position: relative;
  margin-bottom: 60px;
}
.mVilla .foto figcaption {
  position: absolute;
  bottom: 20px;
  text-align: center;
  display: block;
  width: 100%;
  color: #FFF;
  font-size: 1.2rem;
}

.mVilla .foto .num_fotos {
  position: absolute;
  top: 20px;
  text-align: center;
  display: block;
  width: 100px;
  right: 20px;
  aspect-ratio: 56 / 36;
  background: url(/imgs/camara.svg) 50%  / auto 100% no-repeat;
  filter: drop-shadow(0px 0px 1px #fff);
}

.mVilla .foto .num_fotos:before {
  content: attr(data-num);
  position: absolute;
  bottom: 10px;
  left: 10px;
  color: #fff;
}


.bVilla #modal_fotos {
  display: none;
  flex-direction: column;
  gap: 10px;
  position: fixed;
  inset: 0;
  background: #fff;
  color: #000;
  z-index: 100000;
  padding: 0;
  font-size: 0.8rem;
  height: 100vh;
  overflow-y: scroll;
}
.bVilla #modal_fotos.ver {
  display: flex;
}

.bVilla #modal_fotos img {
  width: 100%;
  height: auto;
  display: block;
}
.bVilla #modal_fotos figure {
  position: relative;
  background: #acecf1;
}

.bVilla #modal_fotos figcaption {
  position: absolute;
  top: 60px;
  right: 20px;
  background: rgb(255 255 255 / 53%);
  padding: 10px 30px;
  border-radius: 30px;
}

.bVilla #modal_fotos .cerrar {
  position: fixed;
  top: 20px;
  right: 20px;
  font-size: 3rem;
  cursor: pointer;
  z-index: 1;
  color: #fff;
  border-radius: 50%;
  background: #000;
  width: 40px;
  height: 40px;
  display: grid;
  place-content: center;
}

.bVilla #calendar .flatpickr-calendar {
  margin: 0 auto;
  box-shadow: none;
}

.bVilla #calendar .flatpickr-day {
  font-weight: 600;
  color: #000;
}

.bVilla #calendar .cur-month {
  font-weight: 300;
}

.bVilla #calendar :is(.prevMonthDay, .nextMonthDay) {
  opacity: 0 !important;
}

.bVilla #calendar .flatpickr-disabled {
  font-weight: 300;
  color: #000;
  opacity: 0.2;
}
.bVilla #calendar .today {
  background: var(--azulin);
}

.bVilla #calendar .flatpickr-prev-month:hover svg, 
.bVilla #calendar .flatpickr-next-month:hover svg {
    fill: var(--azulin) !important;
}

/* Tranajar desde la villa */
#trabajar_desde_la_villa {
  display: none;
  position: fixed;
  inset: 0;
  background: #000000c4;
  color: #000;
  z-index: 100000;
  padding: 60px 20px 20px;
  flex-direction: column;
  gap: 100px;
  z-index: 99999999;
}
#trabajar_desde_la_villa.ver {
  display: flex;
}

#trabajar_desde_la_villa .contenido_html {
  background: #f1f1f1;
  padding: 60px 20px;
  border-radius: 20px;
  position: relative;
}

#trabajar_desde_la_villa .cerrar {
  position: absolute;
  right: 0;
  top: -60px;
  font-size: 3rem;
  color: #fff;
  cursor: pointer;
}

#trabajar_desde_la_villa h2 {
  font-weight: 400;
  font-size: 1.3rem;
  margin-bottom: 20px;
}

#trabajar_desde_la_villa strong {
  font-weight: 400;
  color: var(--azulin);
}

#trabajar_desde_la_villa h2 +p {
  margin-bottom: 40px;
  font-size: 0.8rem;
}

/*Mascotas*/
.mMascotas, .bMascotas .pHeader {
  background: #aaecde;
}

.mMascotas {
  padding: 40px 20px;
}

.mMascotas h1 {
  color: var(--rosa);
  font-weight: 700;
  text-align: center;
  font-size: 2.2rem;
  margin-bottom: 40px
}

.mMascotas h2 {
  color: var(--rosa);
  margin: 60px 0 20px ;
}

.mMascotas h2:first-of-type {
  border-top: 2px dashed #000;
  padding-top: 20px;
}

.mMascotas h1 + ul {
  display: flex;
  justify-content: space-around;
  gap: 10px;
  margin: 0 0 60px;
  padding: 0;
  list-style: none;
}
.mMascotas h1 + ul > * {
  padding: 30px 0;
  border-radius:20px;
  background: var(--rosa_claro);
  color: #fff;
  flex: 1;
  text-align: center;
}

.mMascotas h1 + ul + p, .mMascotas h1 + ul + p + p {
  font-size: 1.2rem;
}

.mMascotas p + ul {
  margin: 40px 0 ;
  padding: 0 0 0 30px;
}

/* Sostenibilidad */
.mSostenibilidad .img_bajo_header {
  width: 100%;
  height: auto;
  margin-bottom: 60px;
}
.mSostenibilidad section {
  margin: 0 20px;
  padding: 40px 20px;
  background: #f3f3f3;
  border-radius: 30px;
  margin-bottom: 60px;
}

.mSostenibilidad h2 {
  font-weight: 300;
  font-size: 1.2rem;
  margin-bottom: -5px;
  white-space: nowrap;
}
.mSostenibilidad  h2 + p {
    font-size: 0.8rem;
    background: url(/imgs/ico-hojas.png) 100% 50% / 20px no-repeat;
    width: fit-content;
    padding: 10px 25px 0 0;
}

.mSostenibilidad .quedar > a {
  background: #fff;
  display: block;
  border-radius: 30px;
  padding: 15px 0;
  text-decoration: none;
  text-align: center;
  margin: 40px 0;
  font-size: 0.8rem;
}
.mSostenibilidad .quedar .contenido_html:last-of-type {
  font-size: 0.8rem
}
.mSostenibilidad .faq details:first-of-type {
  margin-top: 40px
}
.mSostenibilidad .faq details {
  margin-bottom: 20px;
  background: #fff;
  border-radius: 40px;
  font-size: 0.8rem;
}
.mSostenibilidad .faq summary {
  display: block;
  text-decoration: none;
  position: relative;
  padding: 30px 20px;
  cursor: pointer;
}
.mSostenibilidad .faq summary:after {
  content: var(--desplegable, "+");
  right: 20px;
  position: absolute;
}

.mSostenibilidad .faq [open] {
  --desplegable: "-";
}

.mSostenibilidad .faq .details-content {
  margin-top: 10px;
  padding: 0 20px 30px 20px;
}


/*Home-ful-ness*/
.bHomefulness .pHeader {
  background: #000;
}
.bHomefulness .pHeader #logo, .bHomefulness #botonMenu {
    filter: invert(1);
}
.mHomefulness {
  font-size: 1.2rem;
}
.mHomefulness section {
  margin-bottom: 100px;
} 
.mHomefulness .contenido_html {
  padding: 0 20px;
  font-size: 1.2rem;
  margin-bottom: 40px;
}

.mHomefulness .contenido_html h2 {
  text-align: center;
  margin-bottom: 60px;
  font-size: 1.7rem;
}

.mHomefulness .contenido_html h2:has(+h3){
  margin-bottom: 10px;
}
.mHomefulness h2 + h3 {
  font-weight: 300;
  font-size: 1.2rem;
  text-align: center;
  margin-bottom:40px;
}

.mHomefulness .overview {
  background: black;
  color: #fff;
  padding: 60px 0 0;
  overflow: hidden;
  position: relative;
}

.mHomefulness .overview h1 {
  text-align: center;
  margin-bottom: 10px;
}
.mHomefulness .overview h2 {
  font-weight: 300;
  font-size: 1.6rem;
}

.mHomefulness .banner_video {
  position: relative;
  overflow: hidden;
  min-height: auto !important;
  z-index: 1;
  width: 100%;
}
.mHomefulness .banner_video img {
  width: 100%;
  display: block;
}
.mHomefulness .banner_video video {
  display: none;
}
.mHomefulness .banner_video iframe {
  display: none;
  pointer-events: none;
  width: 100%;
  aspect-ratio: 16 / 9;
}

.mHomefulness .cocinar img {
  width: 100%
}

.mHomefulness .chimenea p {
  font-size: .8rem;
  font-weight: 400;
}
.mHomefulness .chimenea h2 + p {
  text-align: center;
}
.mHomefulness .chimenea h2 {
  margin-bottom: 10px;
} 
.mHomefulness .chimenea .degradado {
  /* height: 600px; */
  background: linear-gradient(-45deg, #67a4d0, #e573a8);
  border-radius: 30px;
  padding: 60px 20px;
  color: #fff;
  text-align: left;
}

.mHomefulness .chimenea .degradado span {
  border-radius: 30px;
  color: #fff;
  border: 1px solid;
  padding: 10px 50px;
  font-size: .8rem;
  display: block;
  margin: 0 auto 40px;
  width: fit-content;
}

.mHomefulness .streaming .logos {
  display: flex;
  overflow: hidden;
  height: 230px;
  margin-top: 40px;
  margin-left: 10px;
  max-width: 450px;
  margin: 0 auto;
}

.mHomefulness .streaming .logos figure {

  background: linear-gradient(to bottom, #f8dbd9, rgb(213 231 243 / 100%));
  aspect-ratio: 1;
  border-radius: 30px; 
  display: grid; 
  place-content: center;
  mix-blend-mode: multiply;
  
}
.mHomefulness .streaming .logos figure:nth-child(2) {
  background: #d4e8f385;
  left: 40%;
  margin-left: -50px;
}
.mHomefulness .streaming .logos img {
  width: 80px;
  height: auto;
}
.mHomefulness .streaming .logos figure:nth-child(2) img {
  width: 130px;
}

.mHomefulness .streaming2 {
  margin-top: 100px;
}

.mHomefulness .listas_streaming {
  display: flex;
  overflow: hidden;
  height: 230px;
  margin-top: 40px;
  max-width: 600px;
  margin: 0 auto;
  
}
@media (min-width: 450px) {
    .mHomefulness .listas_streaming {
        justify-content: center;
    }
}


.mHomefulness .listas_streaming > div {
  background: linear-gradient(to bottom, rgb(246 218 233 / 100%), rgb(213 231 243 / 100%));
  aspect-ratio: 1;
  border-radius: 30px;
  display: grid;
  place-content: center;
  mix-blend-mode: multiply;
}
.mHomefulness .listas_streaming > div:last-child {
  background: linear-gradient(to bottom, rgb(253 249 229 / 100%), rgb(223 237 246 / 100%));
  left: 40%;
  margin-left: -40px;
 
}

.mHomefulness .listas_streaming div div {
  border: 1px solid #fff;
  border-radius: 30px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  font-size: 1rem;
  padding: 30px 40px;
}
.mHomefulness .listas_streaming span:last-child {
  color: #fff;
}

.mHomefulness .aromas2 {
  background: url(/thumb.php?w=600&i=./archivos/fotos25/202.jpg) 0 0 / cover no-repeat;
  margin: 0 20px;
  border-radius: 30px;
  padding: 100px 20px 250px;
  font-size: 0.8rem;
  color: #fff;
  text-align: center;
  background-position: bottom;
  aspect-ratio: 3 / 4;
}

.mHomefulness .cabello > img {
  width: 100%;
  height: auto;
  margin: 40px 0;
} 

.mHomefulness .novedades .contenido_html {
  margin: 0 20px 30px;
  padding: 20px 30px;
  background: #f3f3f3;
  border-radius: 30px;
}
.mHomefulness .novedades p:nth-child(3) {
  font-size: 0.8rem
}

/*MODAL TEXTO*/
.modal_texto {
  display: none;
  position: fixed;
  inset: 0;
  background: #000000c4;
  color: #000;
  z-index: 100000;
  padding: 20px 10px 0;
  font-size: 0.8rem;
}
.modal_texto.ver {
  display: block;
}

.modal_texto h2 {
  font-size: 1rem;
}
.modal_texto :is(p, ul) + h2 {
  margin-top: 20px;
}

.modal_texto .contenido_html {
  background: #f1f1f1;
  padding: 60px 20px 40px;
  border-radius: 20px;
  position: relative;
}
.modal_texto ul {
  margin: 0;
  padding: 0 0 0 30px;
}

.modal_texto .cerrar {
  position: absolute;
  right: 20px;
  top: 0;
  font-size: 3rem;
  cursor: pointer;
  z-index: 1;
}

/*MODAL CALENDARIO*/
.modal_calendario {
  display: none;
  position: fixed;
  inset: 0;
  background: #000000c4;
  color: #000;
  z-index: 100000;
  padding: 20px 10px 0;
  font-size: 0.8rem;
}
.modal_calendario.ver {
  display: block;
}

.modal_calendario .contenido_html {
  background: #fff;
  padding: 60px 20px 40px;
  border-radius: 20px;
  position: relative;
  max-width: 400px;
  left: 50%;
  translate: -50%;
}

.modal_calendario .cerrar {
  position: absolute;
  right: 20px;
  top: 0;
  font-size: 3rem;
  cursor: pointer;
  z-index: 1;
}

.modal_calendario .btn_reserva {
	border-radius: 30px;
	background: var(--color_airbnb);
	text-decoration: none;
	color: #fff;
	padding: 5px 20px;
    font-size: 1.2rem;
    margin: 10px auto 0;
    width: fit-content;
    display: block;
}