 header {
   position: absolute;
   z-index: 999;
   width: 100%;
   background: var(--grad);
 }
 
 header img[alt="Punta Manzano"] {
  margin: 0 auto;
  max-width: 200px;
}

header nav {
  position: relative;
}

header nav > ul {
  text-transform: uppercase;
  font-weight: 600;
}

a.a-ico {
    display: flex;
    align-items: center;
}

a[title="Enviar Whatsapp"] {
  display: flex;
    align-items: center;
    font-weight: 600;
  color: #128c7e;
}

footer a span {color: #fff;}

header a[title="Enviar Whatsapp"]:hover {
  border: none;
}

header nav ul:hover a[title="Enviar Whatsapp"] svg path {
  fill: #128c7e;
}

a[title="Enviar Whatsapp"] svg, .a-ico svg {
  display: block;
  width: 24px;
  aspect-ratio: 1;
  margin-right: 12px;
}


header ul li[role="button"] div {
  width: 24px;
  height: 20px;
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  cursor: pointer;
  display: grid;
  align-items: center;
  margin: 4px;
}

ul li[role="button"] div span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #fff;
}

body.menuMobile main,
body.menuMobile header,
body.menuMobile div[class*="hero"] {
  display: none!important;
}

body.menuMobile {
  display: grid;
  place-content: center;
  background-color: #181818;
}

body.menuMobile header {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  gap: 30px;
}


body.menuMobile header nav li:not([role="button"]) {
  margin: 30px auto 15px;
  display: block;
  font-size: 24px;
  border-bottom: solid 1px #646464;
  padding: 8px 8px 30px;
}

body.scrolling:not(.menuMobile) header nav li[role="button"] {
  filter: drop-shadow(8px 8px 8px rgba(0 0 0 / 0.3));
  z-index: 9999;
}

nav a {
  font-family: "Jost", cursive;
  font-weight: 400;
  font-style: normal;
}

footer nav a span {
  color:#fff;
}
footer a {
  display: block;
  padding:16px;
  border-top: dashed 1px rgba(255 255 255 / 0.3);
}

footer a span {
  color: rgba(255 255 255 / .7);
}
footer a span:hover {
  color: rgba(255 255 255 / 1);
}

footer a[title*="inicio"] {
  width: min(240px, 50%);
  border: none;
}

body.menuMobile a[title*="inicio"] {
  width: min(240px, 70%);
}

body:not(.menuMobile) footer .mob,
body.menuMobile footer h2 {
  display: none;
}

/* Media Queries Unificados */
@media (min-width: 601px) {
  header nav > ul {
    gap: var(--gap);
    background-color: rgba(255 255 255 / 0);
  }

  header nav ul:hover {
    background-color: #fff;
  }

  
}

@media (min-width: 1024px) {
 

  header nav > ul {
    position: fixed;
    right: 0;
    top: 0;
    display: flex;
    gap: var(--gap);
    place-content: center;
    padding: var(--gap2);
    transition: background-color 400ms ease-out;
    background-color: rgba(255 255 255 / 0);
  }

  header nav ul:hover {
    background-color: #fff;
  }

  header nav ul:not(:hover) a {
    color: #fff;
  }

  header nav ul a {
    padding: 0 8px 15px;
  }

  header nav ul a:hover {
    border-bottom: solid 1px #ccc;
  }

  header nav > div > a {
    display: block;
    width: min(240px, 25%);
  }

  .scrolling header ul {
    background-color: #181818;
    background-color: var(--cp);
    filter: drop-shadow(8px 8px 8px rgba(0 0 0 / .3));
  }

  .scrolling header ul:not(:hover) li:not([role="button"]),
  .scrolling header ul:hover li[role="button"],
  body:not(.scrolling) header ul li[role="button"] {
    display: none;
  }

  /* secciones */
  .suites header nav li:nth-child(2) a,
  .cabanas header nav li:nth-child(3) a,
    .experiencia header nav li:nth-child(4) a {
    font-weight: 600; 
   
  }

}

@media (max-width: 1023px) {
  header ul li[role="button"] {
    display: block;
    z-index: 9999!important;
  }

  body.menuMobile {
    height: auto;
    overflow-x: hidden;
    display: grid;
    place-content: center;
    background-color: #181818;
  }

  body.menuMobile header {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
    gap: 30px;
  }

  body header nav > div {
    width: min(240px, 50vw);
  }

  body.menuMobile header nav > div {
    margin: 5vw auto;
  }

  body header nav li[role="button"] {
    position: fixed;
    top: 7vw;
    right: 7vw;
    transform: scale(1.4);
    transform-origin: top right;
    background-color: #000;
    padding: 8px;
  }

  body:not(.menuMobile) header nav li[role="button"] {
    filter: invert(1);
  }

  body.scrolling:not(.menuMobile) header nav li[role="button"] {
    filter: drop-shadow(8px 8px 8px rgba(0 0 0 / .3));
    z-index: 9999;
  }

  body.menuMobile header nav li:not([role="button"]) {
    margin: 30px auto 15px;
    display: block;
    font-size: 24px;
    border-bottom: solid 1px #646464;
    padding: 8px 8px 30px;
  }

  body header nav li:not([role="button"]) {
    display: none;
  }
}

@media (min-width: 1440px) {
  header nav > div {
    margin-left: 5vw;
  }
}

header nav div > a {
  transform-origin: top center;
  transition: transform 0.5s ease;
}

header nav div > a:hover {
  transform: rotateX(8deg) rotateZ(2deg);
}

header nav div > a::active {
  transform: rotateX(-6deg) rotateZ(-3deg) scale(0.98);
  transition: transform 0.1s ease;
}

body .navCabanas {
  height: 0;
  width: 0;
  overflow-x: hidden;
  position: fixed;
  top: -100vh;
  transition: top 400ms ease-out;
}

body.elegirCabana .navCabanas {
  display: grid;
  place-content: center;
  width:100vw;
  min-height: 100vh;
  top: 0;
  left: 0;
  z-index: 10000;
  background: #a99c8e;
  background-image: url("../img/textura.png");
  position: absolute;
  
}

body.elegirCabana > *:not(.navCabanas) {
  height: 0;
  width: 0;
  overflow: hidden;
  position: fixed;
  top: -100vh;
}

.navCabanas > div {
  display: grid;
  gap: var(--gap);
}

.navCabanas a {
  font-family: var(--tipo2);
  font-size: clamp(3rem, 4vw, 5rem);
  color: rgba(0 0 0 / .7);
  letter-spacing: -2px;
  display: flex;
  justify-content:flex-start;
  align-items: center;
  gap: 30px;
}
.navCabanas a span {
  display: block;
  line-height: 1.2  ;
}

.navCabanas a span + span {
  font-family: var(--tipo1);
  font-size: 14px;
  display: block;
  letter-spacing: 2px;
}

.navCabanas a img {
  height: min(15vh,200px);
  border: #fff min(.9vw,12px) solid;
  transition: border-width 400ms ease-out;
}


.navCabanas > div > span {
  text-align: center;
  margin: var(--gap) auto;
  font-size: 18px;
  padding: 15px 30px;
  cursor: pointer;
  background-color: rgba(255 255 255 / .5);
  color: var(--cp);
}

.navCabanas > div > span:hover {
  background-color: var(--cp);
    color: #fff;
}

.navCabanas a:hover span  {
    color: #fff;
}

.navCabanas a:hover img  {
  border-width: min(.5vw,8px);
  filter: var(--sombra);
}

