/*
 Theme Name:   Twenty Twenty-Five Child
 Template:     twentytwentyfive
 Version:      1.0
 Description:  Tema hijo personalizado para proyecto de alojamientos turísticos
 Author:       Mr. Mapache
*/

@import url("../twentytwentyfive/style.css");

*{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing:antialiased; 
}

/* Ubicacion destino - responsive layout */
.ubicacion-destino .ubic-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 1.25rem;
  align-items: start;
}

.ubicacion-destino .ubic-map .hooster-map,
.ubicacion-destino .ubic-map iframe {
  width: 100%;
  height: 360px;
  border-radius: 10px;
  overflow: hidden;
}

.ubicacion-destino .ubic-info{background: #ffffff; border-radius: 14px; padding: 1.25rem 1.5rem; box-shadow: 0 18px 40px rgba(0, 0, 0, .08);}
.ubicacion-destino .ubic-info h4 {
  margin-bottom: 0.25rem;
}

.ubicacion-destino .geo-label {
  text-transform: none;
}

.ubicacion-destino .map-actions .btnmap {
  display: inline-block;
  padding: .5rem .75rem;
  border-radius: 6px;
  text-decoration: none;
}

.ubicacion-destino .btnmap.disabled {
  background: #eee;
  color: #888;
  pointer-events: none;
}

@media (max-width: 820px) {
  .ubicacion-destino .ubic-grid {
    grid-template-columns: 1fr!important;
  }

  .ubicacion-destino .ubic-map .hooster-map,
  .ubicacion-destino .ubic-map iframe {
    height: 260px;
  }

  .ubicacion-destino .ubic-info {
    padding: .75rem;
  }
}

.ubicacion-destino .ubic-grid{display:grid; grid-template-columns: 1fr 1fr; gap:1.25rem; align-items:start;}

@media (max-width: 420px) {
  .ubicacion-destino .ubic-map .hooster-map,
  .ubicacion-destino .ubic-map iframe {
    height: 220px;
  }
  .ubicacion-destino .ubic-info h4 { font-size: 16px; }
}

:root{
  /*BASE COLOR THEME*/
  --primary:#243e35;
  --green:#3F5B51;
  --ligth:#368265;
  --link:#CFD9CF;
  --linkhov:#FF9800;
  --gost:#1e1eff04;
  --ghost:#9e9e9e08;
}

body{background-color: #f6f6f1;}
.wp-block-group {padding: 0;}
body > header{position: relative;z-index: 11111;}
ul{ list-style:none;padding:0; margin: 0;}
p{margin-top: 0;}

/* ----------------------------------------------
 * Header 2024
 * ---------------------------------------------- */
.hooster-header {
  position: relative;
  background: transparent;
  box-shadow: 0 16px 35px rgba(36, 62, 53, 0.08);
}

.hooster-header__row {
  width: auto;
  padding: 0.85rem clamp(1rem, 4vw, 2.75rem);
}

.hooster-header__row--primary {
  background: var(--green);
  color: #f8faf9;
}

.hooster-header__row--secondary {
  padding: 1rem clamp(1rem, 4vw, 2.75rem);
  background: #ffffff; background: var(--green);
  border-top: 1px solid rgba(36, 62, 53, 0.08);
}

.hooster-header__row-inner {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  justify-content: space-between;
}

.hooster-header__logo .custom-logo-link,
.hooster-header__logo-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: inherit;
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  text-decoration: none;
  position: relative;
  top: 5px;
}

.hooster-header__logo img,
.hooster-header__logo .custom-logo {
  max-height: 48px;
  width: auto;
}

.hooster-header__logo-symbol {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}
.hooster-header__logo-symbol svg {
  width: 80px;
  height: auto;
  position: relative;
  top: 1px;
}
.hooster-header__logo-symbol svg path{fill:#f8faf9;}
.hooster-header__logo-text {
  display: inline-flex;
  align-items: center;
  font-family: 'Rubik'; font-weight: 500;
}


.hooster-header__search {
  flex: 1 1 40%;
  min-width: 220px;
  max-width: 640px;
}

.hooster-search {
  margin: 0;
}

.hooster-search__field {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-left: 1.1rem;
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 999px;
  box-shadow: 0 6px 20px rgba(20, 43, 33, 0.18);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.hooster-search__field:focus-within {
  border-color: rgba(255, 255, 255, 0.8);
  box-shadow: 0 10px 28px rgba(20, 43, 33, 0.25);
}

.hooster-search__input {
  flex: 1;
  min-width: 0;
  padding: 0.75rem 0;
  border: 0;
  background: transparent;
  font-size: 1rem;
  color: var(--primary);
}

.hooster-search__input:focus {
  outline: none;
}

.hooster-search__input::placeholder {
  color: rgba(49, 70, 62, 0.6);
}

.hooster-search__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0.35rem;
  width: 2.6rem;
  height: 2.6rem;
  border: 0;
  border-radius: 50%;
  background: rgba(63, 91, 81, 0.12);
  color: var(--green);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}

.hooster-search__submit:hover,
.hooster-search__submit:focus-visible {
  background: rgba(63, 91, 81, 0.28);
  color: #ffffff;
  outline: none;
}

.hooster-search__results {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  right: 0;
  background: #ffffff;
  border-radius: 18px;
  border: 1px solid rgba(36, 62, 53, 0.12);
  box-shadow: 0 24px 50px rgba(18, 33, 27, 0.18);
  max-height: 420px;
  overflow-y: auto;
  padding: 0.4rem 0.35rem;
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease;
  z-index: 40;
}

.hooster-search__results .autogroup h4 {
  margin: 0.35rem 0.9rem;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(36, 62, 53, 0.55);
}

.hooster-search__results .autoitem {
  border-radius: 14px;
  transition: background 0.18s ease, color 0.18s ease;
}

.hooster-search__results .autoitem.active,
.hooster-search__results .autoitem:hover {
  background: rgba(55, 130, 101, 0.08);
}

.hooster-search__field.is-open .hooster-search__results {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.hooster-header__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-left: auto;
}

.hooster-header__menu-toggle {
  display: none;
  position: relative;
  width: 2.85rem;
  height: 2.85rem;
  border-radius: 0.95rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
  align-items: center;
  justify-content: center;
}
.hooster-header__menu-toggle span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 22px;
  height: 2.4px;
  background: currentColor;
  border-radius: 999px;
  transition: transform 0.22s ease, opacity 0.18s ease;
}
.hooster-header__menu-toggle span:nth-child(1) {
  transform: translate(-50%, -7px);
}
.hooster-header__menu-toggle span:nth-child(2) {
  transform: translate(-50%, -1px);
}
.hooster-header__menu-toggle span:nth-child(3) {
  transform: translate(-50%, 5px);
}
.hooster-header__menu-toggle:hover,
.hooster-header__menu-toggle:focus-visible {
  background: rgba(255, 255, 255, 0.2);
}
.hooster-header.is-menu-open .hooster-header__menu-toggle span:nth-child(1) {
  transform: translate(-50%, -1px) rotate(45deg);
}
.hooster-header.is-menu-open .hooster-header__menu-toggle span:nth-child(2) {
  transform: translate(-50%, -1px);
  opacity: 0;
}
.hooster-header.is-menu-open .hooster-header__menu-toggle span:nth-child(3) {
  transform: translate(-50%, -1px) rotate(-45deg);
}

.hooster-header__random {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.85rem;
  height: 2.85rem;
  border-radius: 0.95rem;
  background: rgba(255, 255, 255, 0.15);
  background: #7bdcb5;
  color: #ffffff;
  text-decoration: none;
  transition: transform 0.18s ease, background 0.18s ease;
}

.hooster-header__random:hover,
.hooster-header__random:focus-visible {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.25);
  background: #FDAE53;
  outline: none;
}

.hooster-main-nav__list {
  display: flex;
  align-items: center;
  gap: 1.28rem;
  flex-wrap: wrap;
  margin: 0;
}
.hooster-header__row.hooster-header__row--primary{padding: 0 clamp(1rem, 4vw, 2.75rem) 1.8rem;}

.hooster-main-nav__item {
  position: relative;
}

.hooster-main-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--green); color:#ebf0ed;
  text-decoration: none;
  transition: color 0.2s ease;
}
.ligth .hooster-main-nav__link{font-weight: 400; font-size: 0.85rem;}

.hooster-main-nav__link:hover,
.hooster-main-nav__link:focus-visible {
  color: var(--ligth);
  outline: none;
}

.hooster-main-nav__item--accent .hooster-main-nav__link {
  color:#FDAE53;
}

.hooster-main-nav__item--accent .hooster-main-nav__link:hover,
.hooster-main-nav__item--accent .hooster-main-nav__link:focus-visible {
  color: #a4591c;
}

.hooster-main-nav__badge {
  position: absolute;
  top: -0.6rem;
  right: -0.9rem;
  padding: 0.15rem 0.4rem;
  border-radius: 999px;
  font-size: 0.53rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #ffffff;
  background: #e22a2a;
}

.hooster-header__account {
  display: flex;
  align-items: center;
  gap: 0;
  margin-left: auto;
}

.hooster-account-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--green); color: #fff;
  text-decoration: none;
  padding: 0.5rem 0.9rem;
  border-radius: 0.75rem;
  transition: background 0.2s ease, color 0.2s ease;
}

.hooster-account-link__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.hooster-account-link:hover,
.hooster-account-link:focus-visible {
  background: rgba(55, 130, 101, 0.1);
  color: var(--ligth);
  outline: none;
}

.hooster-account-link--highlight {
  background: var(--green);
  color: #ffffff;
}

.hooster-account-link--highlight:hover,
.hooster-account-link--highlight:focus-visible {
  background: var(--ligth);
  color: #ffffff;
}

.cab{display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem;}


/*MENUS PERSONALIZADOS*/

/*Lugares*/
.page-id-294 .hooster-header__row--secondary,
.page-id-294 .hooster-header__row--primary,
.page-id-72 .hooster-header__row--secondary,
.page-id-72 .hooster-header__row--primary{background:#cd8146}{background:#cd8146}


/*ZONAS*/
.tax-zona{}
.tax-zona .hooster-header__row--secondary,
.tax-zona .hooster-header__row--primary{background:#fff}
.tax-zona .hooster-main-nav__link,
.tax-zona .hooster-header__logo-text{color:var(--green);}
.tax-zona .hooster-header__logo-symbol svg path{fill:var(--green);}
.tax-zona .hooster-main-nav__item--accent .hooster-main-nav__link{color: #FDAE53;}
.tax-zona .hooster-account-link{color: var(--ligth);}
.tax-zona .hooster-account-link--highlight{color: #fff;}

/*DESTINOS*/
.tax-grupo_zona{}
.tax-grupo_zona .hooster-header__row--secondary,
.tax-grupo_zona .hooster-header__row--primary{background:#fff}
.tax-grupo_zona .hooster-main-nav__link,
.tax-grupo_zona .hooster-header__logo-text{color:var(--green);}
.tax-grupo_zona .hooster-header__logo-symbol svg path{fill:var(--green);}
.tax-grupo_zona .hooster-main-nav__item--accent .hooster-main-nav__link{color: #FDAE53;}
.tax-grupo_zona .hooster-account-link{color: var(--ligth);}
.tax-grupo_zona .hooster-account-link--highlight{color: #fff;}

.galeria.galeria-zona{margin: 2rem auto 1rem;}




  


body.has-header-nav-open {
  overflow: hidden;
}

@media (max-width: 1080px) {
  .hooster-header__row-inner {
    gap: 1.1rem;
  }

  .hooster-main-nav__list {
    gap: 1.05rem;
  }
}

@media (max-width: 900px) {
  .hooster-header__row-inner {
    flex-wrap: wrap;
    row-gap: 10px;
  }

  .hooster-header__logo {
    flex: 0 0 auto;
  }

  .hooster-header__actions {
    order: 2; padding:10px 0 0; flex-flow: row-reverse;
  }

  .hooster-header__search {
    order: 3;
    flex-basis: 100%;
  }

  .hooster-search__field {
    padding-left: 0.95rem;
    border-radius: 18px;
  }

  .hooster-search__submit {
    width: 2.4rem;
    height: 2.4rem;
  }

  .hooster-header__menu-toggle {
    display: inline-flex;
  }

  .hooster-header__row--secondary {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: 1.2rem clamp(1rem, 5vw, 2rem);
    box-shadow: 0 24px 50px rgba(18, 33, 27, 0.24);
    border-top: none;
    z-index: 30;
  }

  .hooster-header.is-menu-open .hooster-header__row--secondary {
    display: block; position: relative;
    position: absolute;
    height: 100vh;
  }

  .hooster-header__row--secondary .hooster-header__row-inner {
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
  }

  .hooster-main-nav__list {
    flex-direction: column;
    gap: 0.75rem;
  }

  .hooster-main-nav__link {
    font-size: 1rem;
  }

  .hooster-main-nav__badge {
    position: static;
    margin-left: 0.4rem;
  }

  .hooster-header__account {
    flex-direction: column;
    align-items: stretch;
    margin-left: 0;
    gap: 0.6rem;
  }

  .hooster-account-link,
  .hooster-account-link--highlight {
    justify-content: center;
    background: #ffffff;
    color:var(--green);
  }
  .hooster-search__results{padding: 0.4rem 0rem;}
  .autogroup{padding: .25rem 0 .5rem;}
  .hooster-search__results .autogroup h4{margin: 0.35rem 0.9rem 0;}
  .hooster-header__logo-link{gap: 0.35rem; padding: 10px 0 11px;transform: scale(.9);}

}

@media (max-width: 520px) {
  .hooster-header__row {
    padding: 0.75rem clamp(0.85rem, 6vw, 1.6rem);
  }

  .hooster-header__random,
  .hooster-header__menu-toggle {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 0.85rem;
  }

  .hooster-search__field {
    box-shadow: 0 6px 16px rgba(20, 43, 33, 0.18);
  }

  .hooster-search__input {
    font-size: 0.95rem;
  }
}

/* ----------------------------------------------
 * Search Hub (resultado de búsqueda)
 * ---------------------------------------------- */
.search-hub {
  padding: 3.5rem 0 4.5rem;
}

.search-hub__container {
  display: flex;
  flex-direction: column;
  gap: 2.75rem;
}

.search-hub__header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
}

.search-hub__header h1 {
  margin: 0;
  font-size: clamp(2.1rem, 4vw, 3rem);
  color: var(--green);
  letter-spacing: -0.02em;
}

.search-hub__eyebrow {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: rgba(36, 62, 53, 0.6);
  margin-bottom: 0.35rem;
}

.search-hub__empty-text {
  font-size: 1rem;
  color: rgba(36, 62, 53, 0.72);
}

.search-hub__section {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.search-hub__section-header {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.search-hub__section-header h2 {
  margin: 0;
  font-size: 1.6rem;
  color: var(--green);
}

.search-hub__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  background: rgba(55, 130, 101, 0.12);
  color: var(--green);
  font-weight: 600;
  font-size: 0.85rem;
}

.search-hub__grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}

.search-card {
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  color: var(--primary);
  display: flex;
  flex-direction: column;
  min-height: 100%;
  box-shadow: 0 20px 45px rgba(20, 43, 33, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.search-card:hover,
.search-card:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 26px 50px rgba(20, 43, 33, 0.12);
  outline: none;
}

.search-card__media {
  width: 100%;
  aspect-ratio: 16/10;
  background-position: center;
  background-size: cover;
}

.search-card__body {
  padding: 1.2rem 1.35rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.search-card__title {
  margin: 0;
  font-size: 1.1rem;
  color: var(--green);
  letter-spacing: -0.01em;
}

.search-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.search-card__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.82rem;
  color: rgba(36, 62, 53, 0.78);
  background: rgba(55, 130, 101, 0.1);
  border-radius: 999px;
  padding: 0.3rem 0.65rem;
}

.search-card__chip i {
  font-size: 1rem;
  color: var(--ligth);
}

.search-card__price {
  margin: 0;
  font-weight: 600;
  color: var(--ligth);
}

.search-card__excerpt {
  margin: 0;
  font-size: 0.9rem;
  color: rgba(36, 62, 53, 0.72);
}

.search-hub__footer {
  text-align: center;
  margin-top: 1rem;
}

.search-hub__footer p {
  margin: 0 0 0.75rem;
  color: rgba(36, 62, 53, 0.75);
}

.search-hub__cta {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.search-hub__cta .hooster-btn {
  background: var(--green);
  color: #ffffff;
  padding: 0.75rem 1.4rem;
  border-radius: 12px;
  text-decoration: none;
  font-size: 0.95rem;
  transition: background 0.2s ease;
}

.search-hub__cta .hooster-btn:hover,
.search-hub__cta .hooster-btn:focus-visible {
  background: var(--ligth);
  color: #ffffff;
  outline: none;
}

@media (max-width: 680px) {
  .search-hub {
    padding: 2.5rem 0 3rem;
  }

  .search-hub__grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }

  .search-card__body {
    padding: 1rem 1.1rem 1.25rem;
  }

  .search-card__title {
    font-size: 1.05rem;
  }
}

@media (max-width: 460px) {
  .search-hub__header h1 {
    font-size: 2rem;
  }

  .search-hub__grid {
    grid-template-columns: 1fr;
  }
}

/*Single ALojamiento*/
.alojamiento-thumbnail img {
    width: 100%;
    max-width: 800px;
    height: auto;
    border-radius: 1rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    margin-bottom: 1rem;
}

.entry-content h3, .entry-content h4 {
    margin-top: 2rem;
    color: #333;
    border-bottom: 2px solid #ccc;
    padding-bottom: 0.5rem;
}

.entry-content ul {
    list-style: none;
    padding: 0;
}

.entry-content ul li {
    padding: 0.3rem 0;
    font-size: 1rem;
}

.entry-content a {
    color: #2271b1;
    text-decoration: none;
}
.entry-content a:hover {
    text-decoration: underline;
}
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(16) > div{display: none!important;}
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(8) > div > div:nth-child(2) > button,
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(8) > div > div:nth-child(1) > button{font-size: 13px!important;height: 34px!important;}
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(8) > div > div:nth-child(2) > button,
body > section.ubicacion-destino.wrap-container > div > div > div > div > div.gm-style > div:nth-child(8) > div > div:nth-child(2) > button{border-radius: 0 14px 14px 0!important;font-size: 13px !important; height: 34px !important;}
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(8) > div > div:nth-child(1) > button,
body > section.ubicacion-destino.wrap-container > div > div > div > div > div.gm-style > div:nth-child(8) > div > div:nth-child(1) > button{border-radius: 14px 0 0 14px!important;font-size: 13px !important; height: 34px !important;}
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(1) > img:nth-child(1),
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(3) img,
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(1):hover > img:nth-child(1),
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(3):hover img,
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(1):active > img:nth-child(1),
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(3):active img,
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(1):focus > img:nth-child(1),
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(3):focus img,
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(1) > img:nth-child(1):hover,
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(3) img:hover,
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(1) > img:nth-child(1):focus,
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(3) img:focus,
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(3) > img:nth-child(1),
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(3):focus > img:nth-child(1),
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(3) > img:nth-child(2),
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(3) > img:nth-child(1),
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(3):focus > img:nth-child(2),
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(3):focus > img:nth-child(1),
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(3):focus img,
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(3):active img,
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(1) img{filter: brightness(32)!important;}

body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(1),
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(3){background: #8da590 !important; transition: all .3s;}


body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div{border-radius: 9px!important;}
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(1){border-radius: 9px 9px 0 0!important;}
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(3){border-radius: 0 0 9px 9px!important}

body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(1):hover,
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(3):hover{background: #657b73 !important;}
body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > button:nth-child(3):hover img{filter: brightness(33)!important;}


body > main > div.col-left > section.mapa > div > div.hooster-map > div > div.gm-style > div:nth-child(7) > div > div > div > div{ background: #879b88 !important; width: 100%!important;margin: 0px!important;}
.gm-fixed-popup { filter: drop-shadow(0 6px 10px rgba(0,0,0,.25)); pointer-events:none; }
.gm-control-active:focus>img:nth-child(2), .gm-control-active:hover>img:nth-child(2){filter: brightness(30);}



/*ESTRELLAS*/
.estrellas, 
.estrellas .ph-star-half {
    color: gold;
    font-size: 1.1rem;
    vertical-align: top;
    display: inline-block;
}
.estrellas .ph-star-half{vertical-align: baseline;}
.estrellas .disable{color: #C4C4C4}



/*LOADER ANIMADO*/
.loader-spinner {
  border: 4px solid #eee;
  border-top: 4px solid #369e25;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: girar 1s linear infinite;
  margin: 2rem auto;
}

@keyframes girar {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/*ESTILOS BOTONES*/
.boton-pagina {
  padding: 0.4rem 0.8rem;
  background: #369e25;
  color: white;
  border: none;
  border-radius: 4px;
  margin: 0 0.2rem;
  cursor: pointer;
}
.boton-pagina[disabled] {
  background: #aaa;
  cursor: not-allowed;
}



.hoostpost{
  display: block; width: fit-content; padding: 10px 20px; margin: 0 auto; border-radius: 8px; background:#F44336;
  text-decoration: none; color: white; line-height: 1.4; font-size: 16px; transition: all .3s; background: var(--green);
}
.hoostpost p{margin: 0;}
.hoostpost strong{font-size: 16px;font-weight: 500;color: #fff;line-height: 1; font-weight:600; color: #ffffcb;}
.hoostpost:hover{ background:var(--ligth); }
.sin-resultados h2{margin: 0; color: #4d5650;}
.notfound-raccoon{ width:258px; margin:0 auto; position:relative;}
.notfound-raccoon.pocket{margin:-40px auto -50px; transform: scale(.7);}
.map-raccoon{
  max-width: 200px; width: 100%; position: absolute; top: 0; left: 29px; z-index:1;
}

.head-raccoon{
  max-width: 200px; width: 100%; position: absolute;top: -7px; left: 38px;
  transform-origin: bottom center; /* pivota desde la base de la cabeza */
  animation: nod 2s ease-in-out infinite alternate;
}
.body-raccoon{
  max-width: 200px; width: 100%; height: auto; margin-bottom: 1rem;
}

.cola-raccoon{
  max-width: 200px; width: 100%; position: absolute;top: 0; left: 25px; z-index: -2;
  transform-origin:31% 77%;
  animation: colita 2s ease-in-out infinite alternate;
}
.bag-raccoon{
  max-width: 200px; width: 100%; position: absolute;top: 0; left: 29px; z-index: -3;
  animation: bagui 2s ease-in-out infinite alternate;
}

/* Definición de la animación */
@keyframes nod {
  0%   { transform: rotate(-1deg); }
  50%  { transform: rotate(4deg); /* gira hacia adelante */ }
  100% { transform: rotate(-1deg); }
}
@keyframes colita {
  0%   { transform: rotate(5deg); }
  50%  { transform: rotate(-1deg); /* gira hacia adelante */ }
  100% { transform: rotate(5deg); }
}
@keyframes bagui {
  0%   {top: 2px; left: 29px;}
  50%  {top:0; left: 31px}
  100% {top: 2px; left: 29px;}
}


.pswp__button--arrow .pswp__icn, .pswp__button--arrow--next .pswp__icn{fill:#b2ae8e; }


/*BUSQUEDA*/
.seccion-busqueda{}
.seccion-busqueda h1{
    text-align: center;
    margin: 1.4rem 0 .8rem;
}

/*PAGINADOR*/
.resumesearch{margin:2rem auto .5rem; font-weight:400; font-size: 16px; color: #375E4F; text-align: center;}

.paginacion {
  font-family: 'system-ui', sans-serif;
  color: #325e4c;
  text-align: center;
}

.paginacion button {
  background:transparent;
  border: 1px solid #c3cfd6;
  font-family: 'Roboto';
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  color: #325e4c ;
  font-size: 15px;
  transition: background 0.2s;
}


.paginacion button:hover,
.boton-pagina:hover:not([disabled]) {
  background-color:transparent!important;
  color:#090909 ;
}

.paginador-estilo {
  text-align: center;
  margin-top: 2rem;
}


.paginacion.circle button{
  border-radius: 50%;
  border: none;
  width: 30px;
  height: 30px;
}
.paginacion.circle button.btn-prev.disabled,
.paginacion.circle button.btn-next.disabled{display: none;}
.paginacion.circle button.btn-next, 
.paginacion.circle button.btn-prev{width: auto; background: transparent; padding: 0.5rem; display: inline-flex; align-items: center; gap: 0;}
.paginacion.circle button.btn-next:hover, 
.paginacion.circle button.btn-prev:hover{ background:transparent!important;}
.paginacion.circle button.current{background:var(--green); color: white;box-shadow: 0 0 0px 5px #3f5b5145;}
.paginacion.circle button:hover{ background:#3f5b5145!important; }
.paginacion.circle button.btn-next{padding-left: 0;}
.paginacion.circle button.btn-prev{padding-right: 0;}


.contador-resultados {
  font-size: 1.2rem;
  color: #345e4e;
  margin-bottom: 1rem;
}

.controles-paginador {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.boton-pagina {
  padding: 0.5rem 1rem;
  border: 1px solid #c9d2ce;
  border-radius: 8px;
  background-color: white;
  cursor: pointer;
  font-weight: bold;
  color: #222;
  transition: all 0.2s ease;
}

.boton-pagina[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

.boton-pagina:hover:not([disabled]) {
  background-color: #f0f0f0;
}

.pagina-actual {
  font-size: 1.1rem;
  color: #345e4e;
}

.flecha {
  font-weight: bold;
  margin: 0 0.3rem;
}


/*Iconos*/
.ti {
  font-size: 1.5rem;
  color: #333;
  transition: transform 0.2s ease;
}
.ti:hover {
  transform: scale(1.1);
  color: #1e90ff;
}


.customlabel{
    position: absolute;
    right: -3px;
    background: #ffffff;
    color: #347d60;
    font-size: 11px;
    padding: 1px 4px;
    border-radius: 4px;
    top: -3px;
    font-weight: 600;
    z-index: 1;
}
.customlabel.populares{background:#ff6900;color: #fff;}
.customlabel.nuevo{background: #cf2e2e;color: #fff;}

/*PAGE RESULTADOS*/
/* === Estilos de filtros profesionales === */
.barra-superior{display:flex; justify-content:space-between;align-items:center; margin-bottom:1rem;}


.busqueda-wrap {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
  padding: 0 30px 2rem;
}

.contenido-resultados {
  flex: 3;
  width: 100%;
}

.sidebar-filtros {
    flex: 1;
    max-width: 210px;
    position: sticky;
    top: 20px;
    padding: 0;
    transition: transform 0.3s ease;
}

.sidebar-filtros__inner {
  display: flex;
  flex-direction: column;
  height:100%;
}

.sidebar-filtros__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.sidebar-filtros__header h3 {
  margin: 0;
  font-size: 1.25rem;
}

.sidebar-filtros__close {
  display: none;
  background: none;
  border: none;
  color: #243e35;
  font-size: 1.5rem;
  cursor: pointer;
}

.filter-accordion {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.filter-accordion__item {
  border-bottom: 1px solid rgba(36, 62, 53, 0.08);
  border-bottom:none;
  padding-bottom: 1.25rem;
  padding-bottom: 0;
}

.filter-accordion__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.filter-accordion__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  font-weight: 600;
  color:#72777d;
  cursor: default;
  font-size: 16px;
}

.filter-accordion__chevron {
  display: none;
  color: #3F5B51;
}

.filter-accordion__content {
  margin-top: 0.75rem;
}

.price-slider {
  margin: 0.5rem 0;
}

.price-inputs {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin-bottom: 0.75rem;
}

.price-inputs input[type="number"] {
  flex: 1;
}

.sidebar-filtros__footer {
  display: none;
  margin-top: auto;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(36, 62, 53, 0.08);
  gap: 0.75rem;
}

.sidebar-filtros__clear,
.sidebar-filtros__apply {
  border-radius: 999px;
  font-weight: 600;
  padding: 0.85rem 1.25rem;
  font-size: 1rem;
}

.sidebar-filtros__clear {
  background: none;
  border: none;
  color: #3F5B51;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: center;
}

.sidebar-filtros__apply {
  border: none;
  background: #3F5B51;
  color: #fff;
  cursor: pointer;
}

.filters-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 998;
}

.filters-backdrop.is-visible {
  opacity: 1;
  visibility: visible;
}

.mobile-filter-bar {
  display: none;
}

.sort-sheet {
  display: none;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.no-scroll {
  overflow: hidden;
}


.sidebar-filtros label,
.filtro-orden {
  display: block;
  font-weight: 600;
  margin-top: 1.4rem;
  margin-bottom: 0.3rem;
  color: #72777d;
  font-size: 16px;
  font-family: 'Roboto';
}
.filtro-orden{margin-top: 0;}
.orderuix{display: flex ; align-items: center;}
.orderuix label{margin-top: 0; width: 141px; line-height: 1;}



.select-ux,
.sidebar-filtros select,
.sidebar-filtros input[type="number"] {
  width: 100%;
  padding: 0.5rem;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 1rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: border-color 0.2s;
}

.select-ux,
.sidebar-filtros select:focus,
.sidebar-filtros input[type="number"]:focus {
  outline: none;
  border-color: #375E4F;
}

.select-ux{width: auto;}
.label-ux{font-weight: 600; margin-top: 1.4rem; margin-bottom: 0.3rem; color: #72777d; font-size: 16px; font-family: 'Roboto';}

.amenidades-checkboxes{
  /*max-height: 150px;*/ overflow-y: auto; padding: 0;
}

.grid-zonas{display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:1.5rem;}

.sidebar-filtros .filtro-tipos label,
.sidebar-filtros .filtro-zonas label,
.amenidades-checkboxes label,
.filtro-checkbox label {
    display: flex !important;
    align-items: center;
    gap: 0.1rem;
    font-size: 1rem;
    cursor: pointer;
    font-weight: 500;
    margin:0 0 .5rem;
}
.amenidades-checkboxes label:hover{color:#378265;}
.filtro-checkbox label{color: #378265; font-size: 14px; font-weight: 600;}

.sidebar-filtros input[type="checkbox"],
.filtro-checkbox input[type="checkbox"],
.amenidades-checkboxes input[type="checkbox"] {
  accent-color: #348364 ;
  width: 20px;
  height: 20px;
}
#filtros-activos{
  margin: 0 0 12px !important; background: white; padding: 12px 14px; color: var(--primary); 
  border-radius: 10px; background: linear-gradient(334deg, #f8f8f5, #f9f9f6); 
  box-shadow: 0px 4px 14px rgba(25, 44, 35, .12); border: 1px solid rgba(255, 255, 255, .5);
}



.sidebar-filtros h3{margin:0 0 -.5em;}

.select-ux,
.sidebar-filtros select,
.sidebar-filtros input[type="number"] {
  background-color:#fdfdfc;
  border: 1px solid #dcdccf;
  color: #3A5249;
  box-shadow: none;
}

/* Detalle de baños en la fila de 'Habitaciones y Camas' */
.fi-camas-row .fi-banos-detail {
  color: #6b6b6b;
  font-size: 0.95em;
  margin-left: 1px;
}

.select-ux:focus,
.sidebar-filtros select:focus,
.sidebar-filtros input[type="number"]:focus {
  border-color: #3F5B51;
  background-color: #F1EFE6;
}

.filtro-label {
  display: inline-flex;
  align-items: center;
  background-color: #375E4F;
  color: #fff;
  border-radius: 20px;
  padding: 0.3rem 0.75rem;
  margin: 0.2rem;
  font-size: 0.9rem;
  cursor: pointer;
  transition: background 0.3s ease;
}

.filtro-label:hover {
  background-color: #2c4c42;
}
.filtro-label .remove{opacity: .5; padding: 0 0 0 6px; transition: opacity .3s;}
.filtro-label:hover .remove{opacity:1;}
.clear-btn {
  font-size: 0.9rem;
  padding: 0.3rem 0.3rem;
  cursor: pointer;
  font-weight: 500;
  background-color:transparent;
  color:var(--ligth);
}
.clear-btn:hover{color: #3FB8AF;}


#filtros-activos .filtro-tag {
  display: inline-block;
  background: #e0e0e0;
  padding: 4px 8px;
  margin: 2px;
  border-radius: 4px;
  cursor: default;
}

#filtros-activos .filtro-tag i.close-tag {
  margin-left: 6px;
  cursor: pointer;
}

#filtros-activos .filtro-tag--clear {
  background: #d32f2f;
  color: #fff;
  font-weight: bold;
}
.titlefilter{font-weight: 100;font-size: 16px;opacity: .5;}



.actividades-grid{padding:24px 0 30px; background: #AABFAD;}

.actividades-grid .titlemodul{
  margin-bottom: 14px; margin-top: 0;
    text-align: center;
    color: #fff;
    font-family: 'Rubik';
    font-weight: 500;
    font-size: 22px;}
.grid.acts{
  display: flex;
  justify-content: center; /* centra horizontalmente */
  flex-wrap: wrap;         /* permite que los hijos bajen a otra fila */
  gap: 10px;
  max-width: 950px;
}
.act-card{
  background: rgba(255, 255, 255, .2); border-radius: 16px; overflow: hidden; cursor: pointer; padding: 20px 10px; display: grid ; min-width: 70px; grid-template-rows: 32px 1fr; text-align: center; justify-items: anchor-center; gap: 3px;
  transition: all .5s;
}
.act-card__img{height: 100%; width: auto; min-width: 32px; max-width: 54px; max-width: max-content;}
.act-card:hover{background: #1b352b;}

.act-title{color: #fff;
    font-family: Rubik, sans-serif;
    font-size: 12px;}


.titlepopup{font-weight: 100; text-align: center; width: 100%; font-size: 16px; margin-top: -8px; padding-left: 29px;color: #6B887C; opacity: .5;}
.titlepopup{font-weight: 100; text-align: center; width: 386px; font-size: 16px; margin-top: -8px; color: #b9cac3; opacity: 1; position: relative; top: 181px; background: #378265; padding: 5px; left: 26px; border-radius: 0 0 12px 12px;}

.hap-precios{font-size: 15px;color: #375E4F;font-weight: 600;}
.hap-meta{font-size: 14px; color: rgba(0, 0, 0, .4);}
.act-card .body{max-width: 90px;}
.btn.btn-google{background: #F19C38; color: #fff;font-family: Rubik, sans-serif; font-weight: 400; font-size: 14px; border:none; transition: .3s;}
.btn.btn-google:hover{background:#663399;}
.arrowspopup{position: absolute; top:calc(50% - 24px); width: calc(100% + 80px); margin-left: -40px; z-index: -1; display: flex ; justify-content: space-between;}
.arrowspopup button{
  color: white;
  opacity:.15;
  transition:.5s;
      cursor: pointer;
    -moz-appearance: inherit;
    -o-appearance: inherit;
    -ms-appearance: inherit;
    appearance: inherit;
    -webkit-appearance: inherit;
    border: none;
    background: none;
    font-size: 52px;
}
.arrowspopup button:hover{opacity: 1;}
.hap-body{text-align: center;}
  .hap-modal{position:fixed;inset:auto auto 0 0;right:0;left:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center;padding:16px;z-index:10000}
  .hap-card{max-width:500px;width:100%;background:#fff;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.2);transition: all .3s; height: auto; position: relative;}
  .hap-head{display: flex ; justify-content: space-between; align-items: center; padding: 7px 10px 0px 14px; border-bottom: none; margin-bottom: 0px;}
  .hap-close{background: none; border: 0; font-size: 32px; cursor: pointer; line-height: 1; color: #B0ADAD; transition: color .4s;}
  .hap-close:hover{color: #663399;}
  .hap-close:focus-visible{outline: none;}
  .hap-content{    padding: 0 40px 24px;} 
  .hap-header .hap-title{margin:.35rem 0 .15rem 0;font-weight:500;font-size:1.6rem;text-align:center}
  .hap-precios .mon{opacity:.8;margin-right:4px}
  .hap-hosters{display:grid;gap:12px;margin-top:10px}
  .hap-host{display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid #e5e7eb;border-radius:12px;padding:10px}
  .hap-left{display:flex;gap:10px;align-items:center}
  .hap-avatar{width:44px;height:44px;border-radius:999px;object-fit:cover}
  .hap-name{font-weight:600}
  .hap-ctas{display:flex;gap:8px;flex-wrap:wrap; font-size: 16px;}
  .hap-ctas .btn{padding:8px 12px;border:1px solid #e5e7eb;border-radius:10px;text-decoration:none;background:#f5f5f5}
  .hap-ctas .btn-wa{background:#214f3e;color:#fff;border-color:#214f3e}

.hap-hero{width:100%;height:auto;display:block;border-radius:18px;margin-bottom:27px;aspect-ratio: 2.5 / 1; object-fit: cover; object-position: center;    background-color: rebeccapurple;}
.hap-hero.--placeholder{height:168px;background:#f0f2f5;border-radius:18px;margin-bottom:28px; background-image: url(/assets/actidef.jpg); background-size:cover; background-position:center; }
.hap-hero.activitimg{object-fit:cover;}
.hap-hero.activitimg.iconimg{object-fit: contain;}


.hap-desc{color:#6b7280;text-align:center;margin:.25rem auto .5rem auto;max-width:56ch; font-size: 15px;}
.hap-meta{text-align:center;margin:1.2rem 0 .25rem 0}
.hap-meta strong{color: #368265;}
.hap-req{color:#374151;text-align:center;margin:.0 0 .75rem 0; font-size: 14px;}
.hap-req strong{color: #FF9800;}
.hap-sub{    margin: .5rem -40px .8rem;
    padding: .55rem 1.4rem;
    background: #e9f0ec;
    border-radius: 0;
    color: #6B887C;
    font-weight: 400;
    font-size: 16px;}
.hap-sub i{font-size: 22px; position: relative; top: 4px; line-height: 0;}    
.hap-hosters{display:grid;gap:12px;margin-top:10px}
.hap-host{display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid #e5e7eb;border-radius:12px;padding:10px;background:#fff}
.hap-left{display:flex;gap:10px;align-items:center}
.hap-avatar{width:44px;height:44px;border-radius:999px;object-fit:cover}
.hap-name{font-weight:600}
.hap-ctas{display:flex;gap:8px;flex-wrap:wrap}
.hap-ctas .btn{padding:10px 14px;border:1px solid #e5e7eb;border-radius:10px;text-decoration:none;background:#f5f5f5}
.hap-ctas .btn-wa{background:#214f3e;color:#fff;border-color:#214f3e}

.nohoost{font-size: 13px; text-align: center; padding: 0 30px; line-height: 1.2; opacity: .6; margin: 16px 0 8px;}
.atr-card img{background:#2f5246;}

.hap-body{opacity: 1;transition: opacity 3.2s ease;}
.hap-body.is-switching{opacity: 0;}



/*Popup Actividades animacion*/
/* ===== Overlay con fade + blur ===== */
.hap-overlay{
  position: fixed;
  inset: 0;
  z-index:99999;
  display: block;            /* siempre en DOM, controlamos visibilidad por clase */
  opacity: 0;
  visibility: hidden;
  transition: opacity .22s ease, visibility 0s linear .22s;
  background: rgba(17,24,39,.55); /* #111827 con transparencia */
  backdrop-filter: blur(2px);
}
.hap-overlay.is-open{
  opacity: 1;
  visibility: visible;
  transition: opacity .22s ease;
}

/* Contenedor centrado */
.hap-modal{ min-height: 100%; display: grid; place-items: center; padding: 24px; }

/* Tarjeta con “scale-in” y sombra suave */
.hap-card{
  position: relative;
  width: min(960px, calc(100% - 24px));
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(17,24,39,.15);
  transform: translateY(8px) scale(.98);
  opacity: 0;
  transition: transform .22s ease, opacity .22s ease;
}
.hap-overlay.is-open .hap-card{ transform: none; opacity: 1; }
.atr-text{color: #6b7280; font-size: 14px; line-height: 1.2;}

/* Imagen header con aspecto estable (evita “salto” de layout) */
.hap-hero.activitimg.imgdftl{ background:#f3f4f6; }

/* Flechas laterales */
.arrowspopup button{
  pointer-events: auto;
  display: grid; place-items: center;
  cursor: pointer;
  transition: transform .15s ease, background .15s ease, opacity .15s ease;
}
.arrowspopup button:hover{ transform: scale(1.06); }
.arrowspopup button:disabled{ opacity: .5; cursor: not-allowed; }

/* Skeleton loader (shimmer) */
.skeleton .skel-hero{
  height: clamp(180px, 28vw, 340px);
  border-radius: 12px; margin-bottom: 12px;
  background: linear-gradient(90deg,#f3f4f6 0%, #eceff3 50%, #f3f4f6 100%);
  background-size: 200% 100%; animation: skel 1.2s infinite linear;
}
.skeleton .skel{ height: 12px; border-radius: 6px; margin: 10px 0 6px;
  background: linear-gradient(90deg,#f3f4f6 0%, #eceff3 50%, #f3f4f6 100%);
  background-size: 200% 100%; animation: skel 1.2s infinite linear;
}
.skeleton .skel.w40{ width: 40%; } .skeleton .skel.w60{ width: 60%; }
.skeleton .skel.w80{ width: 80%; } .skeleton .skel.w90{ width: 90%; }

@keyframes skel{ 0%{background-position:200% 0} 100%{background-position:-200% 0} }

/* Respeto accesibilidad */
@media (prefers-reduced-motion: reduce){
  .hap-overlay, .hap-card, .arrowspopup button{ transition:none }
  .skeleton .skel-hero, .skeleton .skel{ animation:none }
}


/* fallback de imagen en cards */
.act-card__img{background-repeat: no-repeat; background-position: center;}
/* botón google (puedes personalizar) */
.btn-google{
  padding:10px 14px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  text-decoration:none;
  background:#FF9800;
  display:inline-block;
}



/* Hooster — Chips de filtros y botón limpiar */
:root{
  --hx-chip-bg: #f6f7f8;
  --hx-chip-border: #dfe3e8;
  --hx-chip-text: #111827;
  --hx-chip-bg-hover: #eef2ff;
  --hx-accent: #2563eb; /* azul */
  --hx-accent-contrast: #fff;
}

/* Contenedor de chips */
#filtros-activos{
  display:flex; flex-wrap:wrap; gap:.5rem; align-items:center;
}
#filtros-activos strong{ margin-right:.25rem; font-size:.92rem; color:#374151; }
#filtros-activos .chip .ph-fill{margin-right: -4px; font-size: 17px;}
#filtros-activos .chip{
  display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding:.48rem .55rem .48rem .55rem;
    border-radius: 9999px;
    background: #617767;
    border: 1px solid var(--hx-chip-border);
    color:#dce1de;
    font-size: .85rem;
    line-height: 1;
}
#filtros-activos .chip .remove{
  background: white;
    display: flex;
    place-items: center;
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 9999px;
    border: none;
    font-weight: 700;
    cursor: pointer;
    color: #3f5b52;
    justify-content: center;
    transition: all .3s;
}
#filtros-activos .chip .remove:hover{     
  background:transparent;
  color: #fff;
  transform: scale(1.8);}




/* Botón: Quitar todos los filtros */
#btn-limpiar-filtros{
  align-items: center;
    margin-bottom: 0;
    border: none;
    padding: 0.4rem 0.8rem;
  
    align-self: center;
    gap: 4px;

  display:none; /* Lo muestra el JS cuando hay filtros activos */
  appearance:none; -webkit-appearance:none;
  
  background:#E91E63;
  color:#fff;
  box-shadow: 0 0 0 0px rgba(233, 30, 99, .0);
  border-radius: 8px;
  font-size:16px;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, transform .04s ease, box-shadow .3s;


}
#btn-limpiar-filtros:hover{
  background:#E91E63;
  color:#fff;
  box-shadow: 0 0 0 6px rgba(233, 30, 99, .45);
}
#btn-limpiar-filtros i{font-size: 18px;}
#btn-limpiar-filtros:active{ transform:translateY(1px); }
#btn-limpiar-filtros:focus-visible{
  outline:2px solid var(--hx-accent);
  outline-offset:2px;
}
.amenidades-checkboxes .amenidad-count{
  opacity:.7;
  font-size:.85em;
}


/*ATRACTIVOS*/
.atractivos-grid{}
.atractivos-grid .titlemodul{color: #2f5246;text-align: center; font-size: 18px; margin: 0px 0 16px; font-weight: 500;}
.atractivelist{max-width: 950px!important; margin: 0 auto;display: flex ; justify-content: center; flex-wrap: wrap;gap: 12px;}
.infoatractiv{display: flex ; flex-direction: column; justify-content: center; align-items: flex-start;}
.atractivelist article .atr-title{align-self: center; font-weight: 500; width: 100%; font-size: 14px; line-height: 1.2; font-family: Rubik, sans-serif; color: #695c58;}
.atractivelist article{display: grid;grid-template-columns: 1fr auto;border: 1px solid #e5e7eb;border-radius:49px;background: #fafaf7;padding: 6px 18px 6px 6px; max-width: 200px; gap: 6px; transition: all .3s ease-in-out;}
.atractivelist article .dftlimgact{background: red; width: 60px; height: 60px;border-radius: 50%;}
.atractivelist article img{width: 60px; height: 60px; object-fit: cover; border-radius: 50%; transform: scale(1.0); transition: all .3s ease-in-out}
.atractivelist article:hover{transform: scale(1.5); z-index: 1000;border-radius:10px;box-shadow: 0 30px 45px rgba(0, 0, 0, 0.35);}
.atractivelist article:hover img{transform: scale(1); border-radius: 4px;}




/* Selects verdes unificados (sidebar + barra superior) */
.sidebar-filtros select,
.barra-superior select,
.select-ux{
  width: 100%;
  padding: .45rem .6rem;
  border-radius: .55rem;
  background-color:#fdfdfc;   /* fondo marfil */
  border:1px solid #dcdccf;   /* contorno suave */
  color:#3A5249;
  font-size:.95rem;
  line-height:1.2;
  box-shadow:none;
  transition:border-color .2s, box-shadow .2s, background-color .2s;
}

.sidebar-filtros select:focus,
.barra-superior select:focus,
.select-ux:focus{
  outline:none;
  border-color:#3F5B51;            /* verde */
  background-color:#F1EFE6;        /* tinte verdoso */
  box-shadow:0 0 0 3px rgba(63,91,81,.16); /* anillo suave verde */
}

/* (Opcional) flechita del select más discreta, sin romper accesibilidad */
.barra-superior select,
.sidebar-filtros select{
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, #3F5B51 50%),
    linear-gradient(135deg, #3F5B51 50%, transparent 50%),
    linear-gradient(to right, transparent, transparent);
  background-position:
    calc(100% - 18px) calc(50% - 4px),
    calc(100% - 12px) calc(50% - 4px),
    calc(100% - 2.2rem) 0.45rem;
  background-size: 6px 6px, 6px 6px, 1px 2rem;
  background-repeat:no-repeat;
  padding-right:2.4rem; /* espacio para la flechita */
}

/* Dark mode coherente con tu paleta */
@media (prefers-color-scheme: dark){
  .sidebar-filtros select,
  .barra-superior select,
  .select-ux{
    background-color:#0b0f16;
    color:#e5e7eb;
    border-color:#374151;
  }
  .sidebar-filtros select:focus,
  .barra-superior select:focus,
  .select-ux:focus{
    border-color:#3F5B51;
    background-color:#1b2220;
    box-shadow:0 0 0 3px rgba(63,91,81,.25);
  }
}

@media (max-width: 960px) {
  .busqueda-wrap {
    flex-direction: column;
    padding: 0 1rem 2.5rem;
  }

  .sidebar-filtros {
    position: fixed;
    inset: 0;
    max-width: none;
    border-radius: 0;
    padding: 0;
    transform: translateY(100%);
    z-index: 999;
    box-shadow: none;
    display: flex;
  }

  .sidebar-filtros__inner {
    padding: 1.5rem clamp(1rem, 6vw, 2rem);
    background: #ffffff;
    overflow-y: auto;
    flex: 1;
  }

  .sidebar-filtros.is-active {
    transform: translateY(0);
  }

  .sidebar-filtros__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .filter-accordion__item {
    border-bottom: 1px solid rgba(36, 62, 53, 0.08);
    padding: 0;
  }

  .filter-accordion__trigger {
    cursor: pointer;
    padding: 1rem 0;
    font-size: 1.05rem;
  }

  .filter-accordion__chevron {
    display: inline-flex;
    transition: transform 0.3s ease;
  }

  .filter-accordion__item.is-open .filter-accordion__chevron {
    transform: rotate(-180deg);
  }

  .filter-accordion__content {
    padding: 0 0 1.25rem;
  }

  .sidebar-filtros__footer {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }

  .sidebar-filtros__apply {
    width: 100%;
  }

  .mobile-filter-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.75rem;
    position: sticky;
    top: 0;
    z-index:111997;
    background: #ffffff;
    padding: 0.85rem 1rem;
    box-shadow: 0 12px 24px rgba(36, 62, 53, 0.1);
  }

  .mobile-filter-bar__button {
    border: none;
    background: none;
    color: #3F5B51;
    font-weight: 600;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
  }

  .mobile-filter-bar__button:focus-visible {
    outline: 2px solid #3F5B51;
    outline-offset: 4px;
  }

  .mobile-filter-bar__divider {
    width: 1px;
    height: 24px;
    background: rgba(36, 62, 53, 0.2);
  }

  .sort-sheet {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    transform: translateY(100%);
    transition: transform 0.3s ease;
    z-index: 1000;
    pointer-events: none;
  }

  .sort-sheet.is-active {
    transform: translateY(0);
    pointer-events: auto;
  }

  .sort-sheet__inner {
    background: #ffffff;
    border-radius: 16px 16px 0 0;
    padding: 1.5rem clamp(1rem, 6vw, 2rem);
    box-shadow: 0 -12px 24px rgba(0, 0, 0, 0.16);
  }

  .sort-sheet__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
  }

  .sort-sheet__header h3 {
    margin: 0;
    font-size: 1.2rem;
  }

  .sort-sheet__close {
    background: none;
    border: none;
    color: #243e35;
    font-size: 1.5rem;
    cursor: pointer;
  }

  .sort-sheet__form {
    display: flex;
    flex-direction: column;
  }

  .sort-sheet__option {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.9rem 0;
    border-bottom: 1px solid rgba(36, 62, 53, 0.08);
    font-size: 1rem;
  }

  .sort-sheet__option:last-child {
    border-bottom: none;
  }

  .sort-sheet__footer {
    margin-top: 1.5rem;
  }

  .sort-sheet__apply {
    width: 100%;
    border: none;
    border-radius: 999px;
    padding: 0.85rem 1.25rem;
    background: #3F5B51;
    color: #ffffff;
    font-weight: 600;
    cursor: pointer;
  }

  .barra-superior {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }

  .orderuix {
    width: 100%;
  }

  .orderuix select {
    width: 100%;
  }

  #btn-limpiar-filtros {
    width: 100%;
  }
}

@media (min-width: 961px) {
  .filters-backdrop,
  .sort-sheet,
  .mobile-filter-bar {
    display: none !important;
  }

  .filter-accordion__chevron {
    display: none !important;
  }

  .filter-accordion__trigger {
    cursor: default;
  }
}














.hoost{position: relative;max-width: 390px;}
.hoost a{text-decoration: none;}
.hoost a:hover{}

.hoost a h3,
.hoost a .price,
.hoost a .zona{transition: all .3s;}

.hoost a:hover h3,
.hoost a:hover .price,
.hoost a:hover .zona{opacity: 1;color: var(--primary);}

.hoost .tipo-alojamiento{
  text-decoration: none; background: var(--primary); border-radius: 8px;
    color: white;
    font-size: 13px;
    display: inline-block;
    padding: 3px 8px;
    font-family: 'Roboto';
    margin: 0 5px 0 0;
    font-weight: 400;}
.hoost img{
    aspect-ratio: 255 / 157;
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 8px;
}
.hoost img:after{contain: "";}
.hoost .typehoost{
    position: absolute;
    width: calc(100% - 10px);
    padding: 4px 0 50% 10px;
    background: linear-gradient(180deg, rgba(0, 0, 0, .3), rgba(35, 60, 53, .2), transparent);
    border-radius: 8px 8px 0 0;
  }
.typehoost p{display: inline-block; color: white; font-size: 13px;}
.hoost:hover .typehoost{background: linear-gradient(180deg, rgba(0, 0, 0, .35), rgba(35, 60, 53, .35), transparent);}
.hoost .zona{color:#858585; font-size: 12px;}
.hoost .zona strong{color:#858585;}
.hoost h3{margin: 0; font-family:'Roboto'; font-size: 16px; font-weight: 600; color: #D1844A;}
.hoost .price{font-size: 12px; color: #378265; font-weight: 600;}
.hoost .no-price{font-weight: 400;color:#858585;}
.hoost .zona{overflow: hidden; text-overflow: ellipsis;white-space: nowrap;}


.paginacion{
  display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:0;
}
.paginacion span{
  font-weight: bold;
  color: #375E4F;
  font-size: 16px;
}


.grid-galeria{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;}


.linki{
    color: var(--primary); font-weight: 400; text-decoration: none;
    font-size: 16px;
    position: relative;
    top: -6px;
    display: inline-block;
    line-height: 1;
    -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing:auto; 
}
.underlink{
  border-bottom: 1px solid var(--link); border-bottom: 1.4px solid var(--link);color: #6C887C; font-family: Rubik, sans-serif; font-weight: 400; 
  text-decoration: none; transition: border-bottom .4s, color .4s; font-size: 14px;
    -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}
.underlink:hover{border-bottom: 1.4px solid var(--green); color: var(--green);}

.underlinkx{
  position: relative;
    color: #6C887C;
    font-family: Rubik, sans-serif;
    font-weight: 400;
    text-decoration: none;
    transition: border-bottom .4s, color .4s;
    font-size: inherit;
    -webkit-font-smoothing: auto;
}
.underlinkx.line{display: flex;align-items: anchor-center;}
.underlinkx::after{
      background: var(--link);
    height: 2.4px;
    content: "";
    position: absolute;
    width: 100%;
    bottom: -2px;
    right: 0;
    left: 0;
}
.underlinkx:hover{color:#3f5b52; }
.underlinkx:hover::after{}

/*ESTILOS ALOJAMIENTO SINGLE*/
.hospedajeself{}
.hospedajeself .titulo{font-weight: 500;}
.hospedajeself h3{font-size: 18px; color: var(--green); font-weight: 500; margin: 0 0 10px;}
.hospedajeself p{}
.hospedajeself p strong{color:var(--green); }

.item{color: var(--primary);}

.item.hostid{position: relative;}
.item.hostid .js-fav{padding:8px 10px;border:1px solid #e5e7eb;border-radius:10px;right: 10px; top: 10px; position: absolute;}

.hostid .zonelink{font-size: 20px; font-weight: 400; text-decoration: none;}
.logo-zona{float: left; margin-right: 8px;text-align:center;margin-bottom:1rem;}
.logo-zona img{width:81px;height:81px;border-radius:50%; object-fit: cover;}

.fastinfo{
    background: linear-gradient(198deg, #F8F8F4, #F7F7F3);
    background: rgba(255, 255, 255, .44);
    box-shadow:0px 2px 8px rgba(25, 44, 35, .07);
    border: 1px solid rgba(255, 255, 255, .5);
    padding:14px 16px;
    border-radius: 12px;
    color: #000;
  }
.zonamap{
  background: linear-gradient(198deg, #F8F8F4, #F7F7F3);
  box-shadow:0px 3px 6px rgba(25, 44, 35, .15);
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 12px;
  padding:16px 22px 16px;
  margin: 10px 0 0;
}

.zonaslink{font-size: 18px; margin-bottom: 3px;}
.ubidate{font-size: 14px; margin:0 0 10px; display:block; color:rgba(0, 0, 0, .6);}
.nodata{opacity: .4;}

.nodata{opacity: .4;}
.socialiconnot{font-size: 23px; position: relative; top: 5px; line-height: 0; margin-right: -2px;}


.booking-btns{
    display: grid;
    grid-template-columns: auto auto;
    gap: 10px;
    border-top: 1px solid rgba(0, 0, 0, .1);
    padding-top: .6em;
}
.booking-btns .airbnb{
    max-width: 160px;
    font-size: 12px;
    font-weight: 500;
    background: #FF385C;
    color: white;
    padding: 10px;
    border-radius: 9px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    gap: 6px;
    transition: color .3s;
}
.booking-btns .airbnb:hover{opacity:.8;}


.amenidax{
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
    list-style: none;
    padding: 0;
  }
  .amenidax li{font-size: 16px;}

.noresults{text-align: center;}
.noresults h2{ font-weight:400; margin-bottom:3px; }
.noresults p.disabletxt{ opacity: .5; margin-bottom:0;}
.noresults hr{max-width: 50%; margin: 1em auto; opacity: .3;}
.noresults h4{ font-weight:500; margin-bottom:3px; }
.noresults{}
.noresults{}




.hero-grupo-zona{color: #fff; background:var(--primary); }
.hero-grupo-zona > div{display: grid; grid-template-columns: 0.618fr 0.382fr; grid-template-columns: 1fr 1fr; gap: 2.4rem; align-items: flex-start; padding: 3rem 2rem 2rem; }
.hero-grupo-zona h1{margin: 0 0 11px;}
.hero-grupo-zona h4{font-size: 20px;margin: 0; font-weight: 300; clear: both;}
.hero-grupo-zona h5{font-size: 16px;margin: 30px 0 5px; font-weight: 500;}
.hero-grupo-zona p{opacity: .7;     margin-bottom:0px;font-size: 14px;}
.hero-grupo-zona a{font-size: 18px;}
.hero-grupo-zona .anfts{width: 243px!important;}
.textltl{font-size:16px!important;}
.anfimore h5{font-size: 16px;margin:30px 0 4px; font-weight: 500;}
.anfimore p{opacity: .7;     margin-bottom: 4px;font-size: 14px;}
.anfimore  .anfts{width: 243px!important; position: relative; right: 9px;}
.destinet .hoostok{top: 0px; left: 1px;}
.hoostok{transform: scale(1.2); display: block; position: relative; top: 1px; left: 3px;}


.tax-zona .destinos-en-zona{padding: 0 0 40px;}
.tax-zona .destinos-en-zona h2{margin: 25px 0 0px;}
.tax-zona .counter{margin: 0;color: #6b6b6b;}
.tax-zona .grid-zonas.minicard{margin-top: 1rem; gap: 1.4rem; max-width: 90%; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); display: grid;}
.tax-zona .atractivos-grid{margin-top: 0; background: white; padding: 50px 0; border-bottom: 2px solid #ebebeb;}
.tax-zona .hoost p{margin: 0; font-size: 14px; color: #858585;}




.hero-grupo-zona .imagen-destacada > img{
  width:100%;height:auto;max-height:400px;object-fit:cover;border-radius:8px;aspect-ratio: 16 / 9; display: block; margin-bottom: 14px;
}

.hero-grupo-zona .imagen-destacada .destino-video{
  position:relative;
  width:100%;
  padding-top:56.25%;
  border-radius:8px;
  overflow:hidden;
  background:#000;
  box-shadow:0 30px 45px rgba(0,0,0,0.35);
}

.hero-grupo-zona .imagen-destacada .destino-video iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.grid-galeria.galeria-limit.chicazonegallery{grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));}
.tax-zona .galeria-zona .grid-galeria.galeria-limit{grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));}


.tax-zona .hero-zona .info{text-align: left;}
.imgftrdestiny{position: absolute; top: 0; left: 0; right: 0; width: 100%;}
.destino-video{ margin-bottom: 14px;}
.play-btn{
      background: transparent;
    border: none;
    position: absolute;
    z-index: 1111;
    top: calc(50% - 64px);
    right: calc(50% - 64px);
    padding: 0;
    cursor: pointer;
    opacity: .5;
    transition: all .5s;
}
.play-btn:hover{opacity: .9}
.videoftr{
  border: none;
  outline: none;
  display: block;
  max-width: 100%;
  aspect-ratio: 16/9; /* mantiene formato tipo YouTube */
}

.hero-zona{
  padding:3rem 1rem;text-align:center; color: white;    background-size: 150%;
  background-color: var(--primary); background-image: url(/assets/pattern.jpg);
  background-image: linear-gradient(45deg, #243e35a6, #243e35a6), url(/assets/pattern.jpg);
  background-image: linear-gradient(45deg, rgba(36, 62, 53, .65), rgba(36, 62, 53, .65)), url(/assets/pattern.jpg);

}

.hero-search{
  padding:1rem 1rem; margin-bottom:1em; text-align:center; color: white;    background-size: 150%;
  background-color: var(--primary); background-image: url(/assets/pattern.jpg);
}

.hero-search.homex{background-image: url(/assets/bgherox.jpg); padding: 2em 1em;}
.hero-search.homex h1{margin: 0;}

.hero-search.destiny{}
.hero-search.destiny .wrap-container{padding-bottom: 1.5em}
.hero-search.destiny h1{margin-bottom:0; font-size: 28px;}
.hero-search.aloja h1{margin: .5rem 0; font-size: 34px;}
.hero-search.aloja{background: var(--primary);}

.pill{display: none;}

#input-lugares{    width: 100%;
    padding: .75rem 1rem;
    border: 2px solid #ddd;
    border-radius: .75rem;
    position: relative;
    z-index: 11;
    outline:none;
  }
#input-lugares:focus,
#input-lugares:focus-visible,
#input-lugares:focus-within{border-color:  #8BC34A;}

#autocomplete-lugares{position: absolute;
    left: -7px;
    right: -7px;
    top: -7px;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-top: none;
    border-radius: .75rem;
    max-height: 420px;
    overflow: auto;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .08), 10px -250px 1px 10000000px #00000011;
    z-index: 1;
    padding: 47px 1px 0;
    opacity: 1;
    transition: all .5s;
  }    
  #autocomplete-lugares[hidden] {
    box-shadow: 0 8px 24px rgba(0, 0, 0, .0), 10px -250px 1px 10000000px #00000000;
    opacity: 0;

    visibility: hidden;
    pointer-events: none;
    display: block!important;
}
#autocomplete-lugares::after {
  content: "▼";         /* obligatorio poner algo */
  display: block;       /* lo hace visible */
  color: red;
  font-size: 20px;
  margin-top: 5px;
}

.autolist::after{contain:""; position: absolute; top: -30px; right: 10px; display: block; background: yellow;border-radius: .75rem .75rem 0 0;}

.filterzone{
      margin-right: 1rem;
      margin-bottom:0;
    font-size: 16px;
    color: #858585;
    padding: 10px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}
.filterzone input{accent-color: #348364;width: 18px;height: 18px;display: none;}
.filterzone i{font-size: 24px;}
.filterzone:has(input:checked) {
    color: #fff; color: #f6f6f2;
    background: #728c73; background: #d1844b;
    padding: 10px;
    clip-path: polygon(0 0, 90% 0, 100% 50%, 90% 100%, 0 100%);
}


.lugaresx{
    background:#fff;
    background-size: cover;
    box-shadow: 0px 19px 13px -22px #3d2222 inset;
    padding:.1rem 1rem 1.5em;
    filter: grayscale(27%);
    z-index: 1;
    position: relative;
}
.lugaresx h1{color: #cd8146; margin: 30px 0 0; font-weight: 500; font-size: 2rem;}
.autogroup{padding:.25rem .5rem .5rem;}
.autogroup h4{font-size:.8rem;margin:.5rem .5rem 0;color:#777;text-transform:uppercase;letter-spacing:.04em;text-align: left;}
.howtosearch{margin-bottom: 10px;}
.txt{font-size: 16px;}
.txt .t{}
.txt small{font-size: 14px;}
.autoitem{
  display: flex;
  gap: .75rem;
  align-items: center;
  padding: .5rem .75rem;
  cursor: pointer;
  color: var(--primary);
  text-align: left;
  line-height: 1;
}
.autoitem:hover,
.autoitem.active{background:#f8f8f8;}

.grid-alojamientos{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem; margin-top:1rem; gap: 1.5rem;}
.grid-alojamientos .thumb,
.grid-zonas .thumb{width:100%;aspect-ratio:16/10;}
.descrizoneti{display: none;}

.grid-destinos {
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1rem;
}
.card-destino { border:1px solid #eee; border-radius:12px; overflow:hidden; background:#fff; }
.card-destino .thumb img { display:block; width:100%; height:180px; object-fit:cover; }
.card-destino .card-body { padding: .9rem 1rem; }
.pagination .current { background:#111; color:#fff; }
.pagination button[disabled] { opacity:.5; cursor:not-allowed; }

.chip.zonelink{ text-shadow:0 0 3px transparent; transition:all .3s; }
.chip.zonelink:hover{ text-shadow:0 0 3px white;  box-shadow: 0 0 5px rgba(255, 255, 255, .5), 0 0 5px rgba(255, 255, 255, .5) inset; }

.sidebar-ctas{}
.sidebar-ctas h4,
.sectionside h4{color:#ce8246;font-size: 18px; line-height: 1.4; display: block; font-weight: 500; margin: 0; text-align: center;}


.sectionside a,
.sidebar-ctas a{font-size: 16px; margin:5px auto; display: block; text-align: center; width: fit-content;}

.radio-group{border: none;
    border-radius: 16px;
    margin-bottom: 20px;
    padding: 24px;
    background: rgba(255, 255, 255, .45);
    box-shadow: 0 4px 10px rgba(96, 125, 139, .2);}
.radio-group.filter{padding: 18px 24px 38px;}
.sectionside{border-radius: 16px;
    padding: 8px 8px 17px 8px;
    background: rgba(255, 255, 255, .65);
    box-shadow: 0 4px 10px rgba(96, 125, 139, .2);
    border: 1px solid #d9d9d9;
  }
.sectionside .hooster-btn{background-color: #ce8246;}
.sectionside.clean .hooster-btn{background-color: #3f5b52; font-size: 13px;}
.sectionside h4{color: #ce8246;}
.sectionside.clean h4{color: #3f5b52; color:#72777d; font-size: 15px;}
.sectionside.clean{box-shadow: none; background: none; border: none; padding: 8px 38px 17px 18px;}

/*BUSCADOR DESTINOS*/
.destiny{
    background: #D1844A;
    background: url(/assets/bgzone.jpg) #D1844A;
    background-size: cover;
    box-shadow: 0px 19px 13px -22px #3d2222 inset;
    padding: .1rem 1rem;
    filter: grayscale(27%);
}
.zona-info{padding:.75rem!important; background:#fff; border-radius:0 0 8px 8px;    height: max-content;}
.zona-info h3{
    margin:0 0 .1rem;
    font-size:14px!important;
    font-weight: 600;
    color: #72777d;
    }
.zona-card{text-decoration: none; border-radius: 0 0 8px 8px; height: 100%; overflow: hidden; max-width: 220px; transition: all .3s;}
.zona-card:hover{box-shadow:0 2px 6px rgba(0,0,0,.1);}
.zona-card p, 
.zona-card:hover p{margin:0; font-size:12px; color:#858585;}
.zona-card:hover .zona-info{}
.zona-card:hover h3, .zona-card:hover p{transition: all .3s;}
.zona-card.zona:hover h3, .zona-card.zona:hover p{color:#728c73;}
.zona-card.destino:hover h3, .zona-card.destino:hover p{color:#c68655;}
.zona-thumb{width:100%;border-radius:8px 8px 0 0;}
.zona-card:hover .zona-thumb{ filter: contrast(1.1) brightness(.95);}



#resultados-alojamientos{ padding:0 15px; }

#resultados-grid, .resultados-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:2rem;padding-top:.5rem;row-gap: 1.2rem;gap: 1.5rem;
}
#resultados-contador, #contador-grid{font-weight: 400; font-size: 15px; color: #858585;}

.alojamientos-relacionados .resultados-grid.zonagrid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.5rem;
    padding:0 20px 20px;}


#resultados-grid.grid-zonas.zonasydestinos .zona-card{display:grid; grid-template-rows: 110px 1fr;}
#resultados-grid.grid-zonas.zonas .zona-card{display:grid; grid-template-rows: 90px 1fr;}


/*GRID DESTINOS*/
#resultados-grid.grid-zonas.destinos .zona-card{display:grid; grid-template-rows: 152px 1fr; background: white; box-shadow: 0 2px 6px rgba(0, 0, 0, .1); border-radius: 16px 16px 8px 8px;}
#resultados-grid.grid-zonas.destinos .zona-card .zona-thumb{width: auto; border-radius: 18px 18px 0 0; border: 8px solid white; border-bottom: 6px solid white;}
#resultados-grid.grid-zonas.destinos .zona-card .zona-info{padding: 0 .75rem .75rem!important;}
#resultados-grid.grid-zonas.destinos .zona-card .zona-info h3{color: #3f5b53; font-size: .9rem!important; margin: 0!important;}
#resultados-grid.grid-zonas.destinos .zona-card:hover{box-shadow: 0 2px 4px rgba(0, 0, 0, .26); transform: scale(1.04); }
#resultados-grid.grid-zonas.destinos .zona-card:hover .zona-thumb{filter: inherit;}
#resultados-grid..grid-zonas.destinos{overflow:hidden;}

/* DESTINOS LIST*/
#resultados-grid.grid-zonas.destinos.list,
#resultados-grid.grid-zonas.zonasydestinos.list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
#resultados-grid.grid-zonas.destinos.list .zona-card,
#resultados-grid.grid-zonas.zonasydestinos.list .zona-card{
    grid-template-columns: 92px auto;
    grid-template-rows: none;
    text-decoration: none;
    color: inherit;
    position: relative;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .06);}
#resultados-grid.grid-zonas.destinos.list .zona-thumb,
#resultados-grid.grid-zonas.zonasy.list .zona-thumb{
    width: auto;
    border:none;
    aspect-ratio: 1 / 1;
    height: auto;
    padding: 0;
    object-fit: cover;
    border-radius: 8px 0 0 8px;
}
#resultados-grid.grid-zonas.destinos.list .zona-info,
#resultados-grid.grid-zonas.zonasydestinos.list .zona-info{
     padding: .75rem !important; 
}
/*ZONAS LIST*/
#resultados-grid.grid-zonas.zonas.list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
#resultados-grid.grid-zonas.zonas.list .zona-card{
    grid-template-columns: 60px auto;
    grid-template-rows: none;
    text-decoration: none;
    color: inherit;
    position: relative;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .06);}
#resultados-grid.grid-zonas.zonas.list .zona-thumb{
    width: 100%;
    border:none;
    aspect-ratio: 1 / 1;
    height: 100%;
    padding: 0;
    object-fit: cover;
    border-radius: 8px 0 0 8px;
}
#resultados-grid.grid-zonas.zonas.list .zona-info{
     padding: .75rem !important; 
}





.titleradiu{    margin: 4px 0 10px;
    color: #72777d;
    font-size: 16px;
    font-weight: 600;}
.seccionesnav{    margin-bottom: 50px;
    border-left: 3px solid #bdbdbc;
    padding-left: 10px;}
.disabl{filter: saturate(0); opacity:.5;}    




.host-notice{
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: var(--host-gap);
  align-items: center;
  width: 100%;
  max-width: 880px;
  padding: var(--host-pad);
  border-radius: var(--host-radius);
  background: var(--host-bg);
  box-shadow: var(--host-shadow);
  border: 1px solid var(--host-ring);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.host-notice:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 30px rgba(0,0,0,.10);
  border-color: rgba(47,91,77,.25);
}

.host-notice__icon{
  inline-size: 56px;
  block-size: 56px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(180deg, #f6f8f7, #eef2f0);
  border: 1px solid var(--host-ring);
}

.icon{
  width: 48px; height: 48px;
  display: block;
}

.nofound-anfi{display: grid; grid-template-columns: auto 1fr; gap: 10px;}
.nofound-anfi h2{margin: 0!important; } 
.nofound-anfi p{opacity: .3!important; font-size: 16px; margin: 0;}

/* Partes del SVG (se recolorean por variante) */
.i-bg{ fill: none; stroke: #e5e9e6; stroke-width:2; }
.i-fill{ fill: #e5e9e6; }
.i-stroke{ fill: none; stroke: #e5e9e6;stroke-width:1.8; stroke-linecap:round; }
.i-slash{ fill:none; stroke: #e5e9e6; stroke-width:2.2; stroke-linecap:round; }
.i-check{ fill:none; stroke: #e5e9e6; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }

.view-switch{    display: flex
;
    gap: .2rem;
    align-items: center;
    align-self: end;
    padding-bottom: 2px;}
.viewbtn{border-radius: .55rem;
  cursor: pointer;
    background-color: transparent;
    border: none;
    font-size: 28px;
    padding: 0;
    margin: 0;
    outline: none;
    line-height: 1;
    color: #dcdccf;}
.viewbtn.active{color: #728c73;}


.minicard .zona-card{
  text-decoration:none;color:inherit;position:relative;background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06);
  display: grid; grid-template-columns: 92px auto;}
.minicard .zona-thumb{width:100%;aspect-ratio:1/1; height: 100%; padding: 0; object-fit: cover;border-radius: 8px 0 0 8px;}



.item.hostid h1{padding: 0; margin: 0 0 -9px; font-size: 40px; font-weight: 500; color: var(--green); line-height: 1.4; }
.item.zona{font-size: 20px; font-weight: 400;color: var(--primary); margin: 0;}
.item.hostid .ftrimg{
    aspect-ratio: 2 / 1.2;
    object-fit: cover;
    object-position: bottom;
    border-radius: 18px;
    width: 100%;
    overflow: hidden;
    height: auto;
}
.item.galeria{font-size: 18px;}

.item.galeria strong, .item.galeria strong ul{font-size: 18px; font-weight: bold;}

.item.amenidades strong, .item.amenidades strong ul{font-size: 18px; font-weight: bold;}
.item.amenidades ul li{font-weight: 400; font-size:16px; }

.mapa a{text-decoration: none;}
.mapa a:hover{text-decoration: underline;}

.item.descripcion, .item.descripcion h3, .item.descripcion p{font-size: 16px; margin: 0;}

.item.descripcion h3{font-weight: bold;}
.item.descripcion > p{font-weight: 400; margin-bottom: 1em;}

.callhoost{display: grid;
    grid-template-columns:auto auto;
    grid-template-columns:0.597fr 0.403fr;
    gap: 10px;}
.callhoost.activihoost{grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));}
.profilehoost{text-align: left;}
.btnhoost{
    font-size: 12px;
    font-weight: 500;
    font-family: 'Roboto';
    background: var(--primary);
    color: white;
    padding: 10px;
    border-radius: 9px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    gap: 6px;
    transition: color .3s;
}
.btnhoost:hover{background: #375E4F; color: white;}
.btnhoost:hover svg{fill: white;}



.btn-addhosp{
    color: #6C887C;
    font-family: Rubik, sans-serif;
    font-weight: 400;
    text-decoration: none;
    transition: border-bottom .4s, color .4s;
    font-size: 18px;
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
    margin: 0 10px;}
.notfoundtxt{font-size: 22px; color: #6b6b6b;}
.btn-zone{font-size: 18px; font-weight: 600; color: var(--ligth); display: block;}
.tax-grupo_zona .btn-zone{color: #FDAE53;}
.callhoost .callphone{background:#F1EFE6; background:linear-gradient(90deg, #F3F2EB, #F1EFE6);  color: var(--primary);box-shadow: 0px 2px 7px #DBDBD0;}
.callhoost .callphone i{font-style: normal;}
.callhoost .bntwhats{background:var(--primary); background:linear-gradient(90deg, #2C473D, #335347); color: white; box-shadow: 0px 2px 7px rgba(51, 78, 69, .55);}
.callhoost .bntwhats:hover{box-shadow: 0px 2px 7px rgba(51, 78, 69, .85); background: var(--ligth);}
.callhoost .callphone svg{fill:var(--primary); transition: fill .3s;}
.callhoost .bntwhats svg{fill:white;}
.callhoost .callphone:hover{color: var(--ligth);background: #f6f6f1;}
.callhoost .callphone:hover svg{fill: var(--ligth);}


#filtros-activos:empty {
  display: none !important;
}


.anfitriones{
    background: white;
    padding:14px 21px 19px 15PX;
    color: var(--primary);
    border-radius: 10px;
    box-shadow: 0 3px 19px rgba(22, 50, 41, .4);

    background: linear-gradient(334deg, #FBFBF9, #FCFCFB);
    box-shadow: 0px 4px 14px rgba(25, 44, 35, .12);
    border:1px solid rgba(255, 255, 255, .5);
}

.infohosp{font-size: 16px;}
.infohosp a.website{    margin: 0 5px;}
.infohosp a.socialink{
  width: 20px; height: 20px;
  display: inline-block; text-decoration: none; padding: 10px; background:var(--green); border-radius: 50%; color: white;
  transition: all .3s;
}
.infohosp a.website:hover{color: #fff;}
.infohosp a.socialink:hover{ background:rgba(255, 255, 255, .2);}
.infohosp a span{font-size: 20px;}

.infohosp a.socialink.destinet{ background:rgba(255, 255, 255, .1);}
.infohosp a.socialink.destinet:hover{ background:rgba(255, 255, 255, .2);}


.perfil-anfitrion{max-width: 800px; margin:auto; text-align:center; padding-top: 3rem;}
.perfil-anfitrion h1{margin: 0;}
.alojamientos-relacionados{max-width:1200px;margin:auto;padding:2rem 0;}
.alojamientos-relacionados h2{text-align:center; margin: 0 0 10px;}
.alojamientos-relacionados .resultados-grid{padding: 0 2rem 2rem;display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap:1.5rem;}


#filtros-alojamientos{padding: 0 15px;}
#precio-min, #precio-max{padding: 0.3rem 0.5rem!important;font-size: .85rem!important;}
#contenedor-lugares h2{margin: 0; font-size: 28px;color: #3f5b52;}
#contenedor-lugares p.counter{margin: .25rem 0 0 0; font-weight: 400; font-size: 15px; color: #858585;}


.anfitriones h2{font-size: 18px; font-weight: 500; margin:0 0 6px; color: var(--green);}
.anfitriones strong{font-size: 14px;}
.anfitriones .linki{}

.anfilist{display: grid; gap:18px;}
.anfilist .verititle{
  font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: 500; display: block; text-decoration: none; letter-spacing: -0.02em; color: var(--primary);
      f
}
.anfilist.actihoost{margin: 0 -15px;}
.anfilist .verititle:hover{}
.hostprofile{
  
}
.infohost{
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 7px;}
.infohost img{width:44px;height:auto;border-radius:50%;box-shadow: 0 0 3px rgba(0, 0, 0, .2);}
.infohost img:hover{opacity: .9;}




.galeria-photoswipe{}
.pswp__img{border-radius: 15px;}
.pswp__img, .pswp img{border-radius: 5px;}
.galeria-photoswipe .grid-galeria a{display: grid;}
.galeria-photoswipe a img{
    width:100%;height:auto;border-radius:5px;
    aspect-ratio: 2 / 1.4;object-fit: cover;
}
.galeria-photoswipe a img:hover{opacity: .8}

.wrap-container{
    max-width: 1200px;
  margin: 0 auto;}







/*SINGLE ALOJAMIENTO RESPONSIVO*/
.grid-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 0.618fr 0.382fr;
  column-gap: 1.6em;
}


/*SLIDER PRECIO*/
.busqueda-wrap .noUi-target{background: #d9d9d9;border-radius: 4px; box-shadow: none; border: none;}
.busqueda-wrap .noUi-connect{background: var(--ligth);}
.busqueda-wrap .noUi-handle{
  border-radius: 15px;
  background: #29614a;
  box-shadow: none;
  border:none;
}
.busqueda-wrap .noUi-tooltip {
    border: none;
    border-radius: 21px;
    background: #378265;
    color: #fff;
    padding: 5px 10px;
    font-size: 12px;
}
.busqueda-wrap .noUi-handle-lower .noUi-tooltip{display: none;}
.busqueda-wrap .noUi-handle.noUi-handle-upper,
.busqueda-wrap .noUi-handle.noUi-handle-lower{  width: 14px;right: -7px;}
.busqueda-wrap .noUi-handle:after, .busqueda-wrap .noUi-handle:before{display: none;}

/*FSE Components*/
.logohoost{gap:2px;}
.logohoost p a{font-weight: 500; position: relative; top: -2px; left: 1px;    letter-spacing: -0.02em; font-size: 32px;}
.headerhoost{
  flex-wrap: nowrap;justify-content: space-between;
}
.headerhoostx{padding: 0 24px;}

.menuhoostx li a{font-size: 14px;}
.menuhoost{}
.menuhoost .wp-block-navigation-item a{font-size: 16px;}
.menuhospe{transition: color .3s;}
.menuhospe a,
.loginmenu a{color:#3f5b52!important;}
.menuhospe:hover{color:var(--ligth);}

.registratebutton a{
  background: #3f5b52;
    padding: 8px 16px;
    color: white!important;
    border-radius: 3px;
    font-weight: 400;
}
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content{font-size: 16px;}


/*MENU LOGIN*/
.hooster-account { display:flex; gap:10px; align-items:center; }
.hooster-btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.65rem .8rem; border-radius:10px; border:none;
  background:#3f5b52; color:#fff; text-decoration:none; font:500 16px/1.1 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}
.hooster-btn--primary { background:#111827; color:#fff; border-color:#111827; }
.hooster-dropdown { position:relative; }
.hooster-account__toggle { cursor:pointer; }
.hooster-dropdown__menu {
  position:absolute; right:0; top:calc(100% + 8px);
  min-width: 230px; background:#fff; border:1px solid #e5e7eb; border-radius:12px;
  box-shadow:0 10px 24px rgba(0,0,0,.08); padding:8px; display:none; z-index:99999;
}
.hooster-dropdown[aria-expanded="true"] .hooster-dropdown__menu { display:block; }
.hooster-dropdown__menu a {
  display:flex; align-items:center; gap:.5rem; padding:8px 10px;
  border-radius:8px; color:#3f5b52; text-decoration:none; font:500 16px/1.2 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}
.hooster-dropdown__menu a:hover {    background:#617767;color: white;}
.hooster-dropdown__divider { height:1px; background:#e5e7eb; margin:6px 0; }
.is-hidden { display:none !important; }
.hooster-dropdown a i{font-size: 22px;}


/*ACCESO / REGISTRO */
.coldos{display: grid;    grid-template-columns: auto 1fr; gap: 20px;}
.linebreak{-webkit-box-align: center !important;
    display: flex !important;
    align-items: center !important;
    margin: 0px !important;
    font-size: 14px;
    white-space: nowrap !important;}
.linebreak::before {
    content: "" !important;
    display: block !important;
    width: 100% !important;
    height: 1px !important;
    background-color: rgb(221, 221, 221) !important;
    margin-right: 16px !important;
}
.linebreak::after {
    content: "" !important;
    display: block !important;
    width: 100% !important;
    height: 1px !important;
    background-color: rgb(221, 221, 221) !important;
    margin-left: 16px !important;
}    
.linkis{margin-top:12px;display:flex;justify-content:space-between;}
.linkis .underlink{border: none;}
.remembe{display:flex;gap:4px;align-items:center}
.remembe input{accent-color: #617767;width: 18px;height: 18px;}
.remembe span{font-size: 14px;}
#googleBtn, #facebookBtn{margin: 0!important;}
#facebookBtn{margin: 0!important; pointer-events: none; filter: saturate(0.1); opacity: .5;}
#googleBtn{margin-top: -1px!important;}
#googleBtn iframe #container-div{padding: 0!important;}
#googleBtn iframe{margin: 0!important;right: 0;width: 100%!important;}
.btnlogin{padding: 14px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #617767;
    color: white;
    font-size: 16px;
    margin: 6px 0px;}
.underlink-plus{text-align: center; display: block; width: fit-content; margin: 0 auto;font-size: 16px;color: #6C887C;}    
.inputx{
  width:calc(100% - 20px);padding:11px 10px;border:2px solid #E5E7EB;border-radius:14px; font-size: 16px;
}
.inputx:focus,
.inputx:focus-visible,
.inputx:focus-within{border-color: #6C887C;box-shadow:0 0 0 3px rgba(108,136,125,.35); outline: none;}
.inputx::placeholder{color:#9c9d9b;}
.iconregistro{
    position: relative;
    top: 6px;
    font-size: 42px;
    color: inherit;
    opacity: 1;
    left: -3px;
  }

.btn-facebook{
    min-width: 190px;
    width: 100%;
    background: white;
    border: 1px solid #dadce0;
    border-radius: 20px;
    color: #3c4043;
    font-family: "Google Sans", arial, sans-serif;
    font-weight: 600;
    font-size: 14px;
    height: 39px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;}

.auth-wrap{max-width: 520px; margin: 48px auto; padding: 0 16px;}
.card{border: none;
    border-radius: 16px;
    padding: 24px 44px; 
    background: rgba(255, 255, 255, .45);
    box-shadow: 0 4px 10px rgba(96, 125, 139, .2);}
.card h1{    margin: 0 0 2px;
    color: #617767;
    font-weight: 500;
    font-size: 36px;
    text-align: center;


    margin: 0 0 2px;
    color: #fff;
    font-weight: 500;
    font-size: 36px;
    text-align: center;
    background:#3f5b52;
    padding:24px 10px;
    margin: -24px -44px 10px!important;
    border-radius: 17px 17px 0 0;
    background: url(/assets/bgherox.jpg);
    background-size: 1440px auto;
    background-position: right;


  }    
.card p{
    margin: 0 0 16px;
    color: #6b7280;
    text-align: center;
  }    






/* Recuperar pass */
.hooster-auth .notice{padding:12px;border-radius:8px;margin:10px 0}
.hooster-auth .notice.success{background:#e8fff3;border:1px solid #c5f1d9}
.hooster-auth .notice.error{background:#fff1f1;border:1px solid #f1c5c5}
.hooster-auth form .field{margin-bottom:14px}
.hooster-auth .password-wrap{position:relative;display:flex;align-items:center}
.hooster-auth .password-wrap input{flex:1}
.hooster-auth .eye-btn{margin-left:8px;border:1px solid #ddd;background:#f8f8f8;border-radius:8px;padding:6px 10px;cursor:pointer}
.hooster-auth .btn{background:#348364;color:#fff;border:0;padding:10px 16px;border-radius:8px;cursor:pointer}
.hooster-auth .btn-link{margin-left:10px}
.hooster-auth .olvide-pass{margin-top:12px}



/* Etiqueta */
.field-label{
      display: block;
    margin-bottom: 1px;
    color: #6b7280;
    font-size: 16px;
    font-weight: 600;
}

/* Wrapper del input tipo “pill” */
.pw-field{
  display: flex;
  align-items: center;
  gap: 8px;
  border: 2px solid #E5E7EB;
  border-radius: 14px;
  padding: 2px 12px;
  background: #fff;
  transition: border-color .15s ease, box-shadow .15s ease;
}

/* Focus ring azul como en la referencia */
.pw-field:focus-within{
  border-color:#6C887C;             /* azul-300 */
  box-shadow:0 0 0 3px rgba(108,136,125,.35);
}

/* Input sin bordes internos */
.pw-input{
  flex:1;
  border:0;
  outline:0;
  font-size:16px;
  line-height:1.4;
  background:transparent;
  color:#111827;
  padding:0;
}

/* Botón ojito “ghost” */
.pw-eye{
  appearance:none;
  border:0;
  background:transparent;
  width:36px;
  height:36px;
  border-radius:10px;
  display:grid;
  place-items:center;
  color:#111827;
  cursor:pointer;
  transition:background-color .15s ease, color .15s ease;
}
.pw-eye:hover{ background:#F3F4F6; }   /* gris-100 */
.pw-eye:active{ background:#E5E7EB; }  /* gris-200 */

/* Icono SVG hereda el color */
.pw-eye .icon-eye,
.pw-eye .icon-eyeoff{
  display:block;
}

/* Mensaje de ayuda */
.field-help{
  display:block;
  margin-top:6px;
  color:#6B7280;
  font-size:12px;
}






/*SINGLE ALOJAMIENTO*/
:root{
  --gap: clamp(12px, 2.4vw, 24px);
  --corner: 12px;
  --fg: #fff;
  --c1:#375E4F; --c2:#2d5b4f; --c3:#aabfad; --c4:#62b06f; --c5:#0d6b63;
  --c6:#464646; --c7:#8b8b8b; --c8:#b56576; --c9:#6d597a; --c10:var(--primary);
}

/* Base */

.ficha > *{margin:0;}
.ficha > *:not(.nombre):not(.destino){min-height:0;}

/* MOBILE FIRST (1 columna con el orden solicitado) */
.ficha{
  display:grid;
  gap:var(--gap);
  row-gap: 12px;
  column-gap: 30px;
  grid-template-columns: 1fr;
  grid-template-areas:
    "foto"
    "nombre"
    "precios"
    "anfitriones"
    "descripcion"
    "amenidades"
    "galeria"
    "mapa"
    "redes"
    "destino";
}

/* Áreas de cada bloque (colores demo) */
.ficha .foto{grid-area:foto;}
.ficha .nombre{grid-area:nombre; font-size:1.6rem; font-weight:800;}
.ficha .precios{grid-area:precios; background:var(--c3); color:#222;}
.ficha .anfitriones{grid-area:anfitriones;}
.ficha .descripcion{grid-area:descripcion;;}
.ficha .amenidades{grid-area:amenidades; }
.ficha .galeria{grid-area:galeria;}
.ficha .mapa{grid-area:mapa;}
.ficha .redes{grid-area:redes;}
.ficha .destino{grid-area:destino; background:var(--c10);}

/* En móvil, los wrappers no “estorban” */
.col-left, .col-right{ display: contents; }

/* Detallitos demo (opcionales) */
.ficha .foto{display:flex; align-items:center; justify-content:space-between;}

/* ESCRITORIO: 2 columnas + gajos arriba/abajo */
@media (min-width: 1024px){

  .ficha{
    max-width: 1200px;
    padding:0 40px;
    margin: 30px auto;
    grid-template-columns: minmax(0,1fr) 380px;
    grid-template-columns:0.618fr 0.382fr;
    grid-template-areas:
      "nombre nombre"
      "left   right"
      "destino destino";
  }

  /* Que nombre y destino ocupen todo el ancho */
  .ficha .nombre, .ficha .destino{ grid-column: 1 / -1; }

  /* Aquí es la clave: los wrappers son los ítems del grid */
  .col-left{  grid-area: left;  display:flex; flex-direction:column; gap:var(--gap); row-gap: 10px;}
  .col-right{ grid-area: right; display:flex; flex-direction:column; gap:var(--gap); }

  /* IMPORTANTE: NO uses grid-column en .foto/.galeria/.mapa/etc.
     El orden se controla con el DOM y el flex-column de cada wrapper */
}

.descripcion, .amenidades{margin: 0 15px;}
.mapbtns{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin:-70px 30px 42px;
  position: relative;
  padding: 0 90px;
  z-index: 1;
}
.zonasdispo{border-left: 6px solid #EAEBE9; padding: 0 10px 10px 15px;}
.zonelinkx{background: #657b73; border-radius: 8px; padding:8px 13px; color: white; font-size: 13px; transition: all .3s; display: block;}
.zonelinkx:hover{text-decoration: none!important; background:#3f5b52;}
.btnmap{font-size: 12px;
    font-weight: 500;
    font-family: 'Roboto';
    background: var(--primary);
    color: white;
    padding: 12px 10px;
    border-radius: 9px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    gap: 6px;
        background: #F1EFE6;
    background: linear-gradient(90deg, #F3F2EB, #F1EFE6);
    color: var(--primary);
    box-shadow:0px 3px 9px rgba(22, 50, 41, .4);
    transition: color .3s;
  }

.ficha .destino{margin-top: 30px; padding: 26px 26px 13px; border-radius: 16px; color: white;}
.ficha .titlemodul{
    font-size: 18px;
    color: var(--green);
    font-weight: 500;
    margin: 0 0 10px;
}
.ficha .zonamap .titlemodul{display: block; margin:0 0 1px;}

.ficha .h1title{    padding: 0;
    margin: 0 0 -10px;
    font-size: 40px;
    font-weight: 500;
    color: var(--green);
    line-height: 1.3;}
.ficha .ximgftrd{position: relative;flex:1;}
.ficha .js-fav{    padding: 8px 10px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    display: inline-flex;
    gap: 8px;
    align-items: center;
    right: 10px;
    top: 10px;
    position: absolute;}
.ficha .js-fav i{font-size: 19px;}
.ficha .js-fav:hover{color: #FF9800}    
.ficha .js-fav.is-fav{ background:#FF9800; color:#fff;border-color:#FF9800!important; }

.ficha .js-fav.is-fav:hover{opacity: .92;}


.ficha .ftrimg{
      aspect-ratio: 2 / 1.2;
    object-fit: cover;
    object-position: bottom;
    border-radius: 18px;
    width: 100%;
    overflow: hidden;
    height: auto;
    display: block;
}
.ficha .h1title{padding: 0;
    margin: 0 0 -9px;
    font-size: 40px;
    font-weight: 500;
    color: var(--green);
    line-height: 1.4;
  }
  .ficha .zonelink{    font-size: 20px;
    border-bottom: 1.4px solid var(--link);
    color: #6C887C;
    font-family: Rubik, sans-serif;
    font-weight: 400;
    text-decoration: none;
    transition: border-bottom .4s, color .4s;
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;}
  .ficha .descripcion p{font-size: 16px; margin: 0 0 15px;}
  .ficha .fastinfo p{margin: 0;}
  .ficha .fastinfo .precio{font-size: 12px; margin: 0;font-family: 'Rubik'; color: rgba(0, 0, 0, .4);}
  .ficha .fastinfo .precio strong{color: rgba(0, 0, 0, .6);}


.fastinfo{display:grid;gap:12px;}
@media (max-width:820px){.fastinfo{grid-template-columns:1fr}}
.fastinfo .fi-card{border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px;background:#fff;display:flex;flex-direction:column;gap:6px}
.fastinfo .fi-pct{background:#E30004;color:#fff;border-radius:6px;padding:2px 6px;margin-right:8px;font-weight:700}
.fi-no-price{color: #9CA3AF; font-weight: 600; font-size: 18px;}

.fi-regular{font-size: 15px; color: #ADADAD;}
.fi-promo, .fi-solo-price{font-size: 17px; color: #368265; font-weight: 600;}
.fi-divider{background: #E5E5E5;height: 1px;}
.fi-solo-price span{color: #ADADAD;}
.fi-subprices {
    font-size: 12px;
    color:#6d887c;
}
.fi-rooms .ph-fill,
.fi-cap-row .ph-fill{color: #375E4F; font-size: 22px;}
.fi-cap-row, .fi-rooms{font-size: 14px; font-family: Rubik, sans-serif; font-weight: 400; }
.fi-rooms .ph{font-size: 24px;color: #999;}
.fi-rooms{ clear: both; margin-top: 0px; }
.titlemodul.fi-title{ margin-top: 6px; }
figure.rr{display: flex; transform: rotate(0deg) scale(1.1); transition: all .3s; cursor: pointer;}
figure.rr:hover{    transform: rotate(240deg) scale(1.2);}
figure.rr figcaption{display: none;}

.fi-currency { font-weight: 500; margin-right:0; letter-spacing:.02em;font-size: 12px;}
.fi-amount   { font-weight: 500; font-size: 14px;}
.fi-regular .fi-amount { text-decoration: line-through; opacity:.7; font-size: 14px;}
.fi-regular .fi-currency{text-decoration-line:none;}
.fi-toprow .fi-promo .fi-amount{font-size: 22px;font-weight: 800;letter-spacing: -0.02em;}
.fi-toprow .fi-promo .fi-currency{font-weight: 800; font-size: 16px;}
.fi-subprices .fi-currency{color: #888;}
.fi-subprices .fi-amount{color: #888; margin-right: .5em;}
.fastinfo i.ph-fill, .fastinfo i.ph{position: relative; top: 4px;}
.titlemodul.fi-title{font-size: 15px; margin: 0;}
.no-data{color: #888; margin-right: .5em;}
.fi-cama-item strong{color: #888;}
.fi-camas-row i{ top:5px; }
.fi-subprices strong{display: inline-block; word-spacing: -0.06em;}
.fi-solo-price .fi-currency{font-weight: 800; font-size: 16px; color: #368265;}
.fi-solo-price .fi-amount{font-size: 22px; font-weight: 800; color: #368265;letter-spacing: -0.02em;}
.fi-promo{color:#888;}
.fi-cap{margin-right: 10px;}
.fi-promo .fi-currency, .fi-promo .fi-amount{color: #368265;}




/* Grid de la galería (ajusta columnas a tu gusto) */
.grid-galeria.galeria-limit{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  gap:10px;
}
.galeria-destino .grid-galeria.galeria-limit{
  grid-template-columns:repeat(auto-fill,minmax(90px,1fr));
}

/* Item base */
.gal-item{
  position:relative;
  overflow:hidden;
  border-radius:10px;
}
.gal-item img{
  display:block;
  width:100%;
  height:auto;
}

/* Badge +N en la quinta miniatura cuando hay más */
.gal-more-badge{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.45);
  color:#fff;
  font-weight:800;
  font-size:clamp(18px, 2.6vw, 24px);
  letter-spacing:.5px;
  user-select:none;
  pointer-events:none; /* deja que el click abra la galería */
}
/* Base de ítems */
.grid-galeria.galeria-limit .gal-item{
  position:relative;
  overflow:hidden;
  border-radius:10px;
}
.grid-galeria.galeria-limit .gal-item img{
  display:block;width:100%;height:auto; border-radius: 5px;
    aspect-ratio: 2 / 1.4;
    object-fit: cover; margin: 0;
    opacity: 1; transition:  opacity .3s;
}
.grid-galeria.galeria-limit .gal-item img:hover{ opacity:.8; }

/* Mostrar máximo 6 en mobile (7º en adelante escondidos) */
.grid-galeria.galeria-limit .gal-item:nth-child(n+7){
  display:none;
}

/* En escritorio: oculta la 6ª para que queden 5 visibles */
@media (min-width:1024px){
  .grid-galeria.galeria-limit .gal-item:nth-child(6){
    display:none !important;
  }
}

/* Badge +N (superposición) */
.gal-more-badge{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.45);color:#fff;font-weight:800;
  font-size:clamp(18px, 2.6vw, 24px);letter-spacing:.5px;
  user-select:none;pointer-events:none;border-radius:10px;
}

/* Mostrar/ocultar el badge correcto según viewport */
.badge--desktop{ display:none; }
.badge--mobile{ display:flex; } /* por defecto (mobile) */

@media (min-width:1024px){
  .badge--desktop{ display:flex; }
  .badge--mobile{ display:none; }
}
/* Por defecto (móvil): se muestran hasta 6 */
.grid-galeria.galeria-limit .gal-item:nth-child(n+7) {
  display: none; /* Ocultamos del DOM visual las >6 */
}

/* En escritorio (>1024px): forzamos a que solo haya 5 visibles */
@media (min-width: 1024px){
  .grid-galeria.galeria-limit .gal-item:nth-child(6) {
    display: none !important; /* ocultamos el 6º */
  }
}





.ubic-info p{font-size: 16px;}
.titlemap{margin-bottom: 5px; font-family: 'Rubik'; font-weight: 500; margin-top: 0; font-size: 28px; color: #375E4F;}
.zonrel{margin-bottom: 10px;}
.titletaxonomy{font-size: 16px; font-weight: 600;color: #233C35;}
.geo-label{font-size: 18px;
    color: #375E4F;
    margin-bottom: .5rem;
    font-family: 'Rubik';
    font-weight: 500;}



/










/*LOGIN USUARIO*/
.panel{background:#fff;border:1px solid #e5e7eb;border-radius:0 0 16px 16px;padding:20px 26px; min-height: 350px;}
.headuser{
  display:flex;justify-content:space-between;align-items:center;
  gap:12px;flex-wrap:wrap; color: #fff;
  background: #3f5b52; border-radius: 16px 16px 0 0;
  padding: 16px 20px;
}
.menuuser{display:flex;gap:8px;flex-wrap:wrap; font-size: 16px;}

.footerhoost{
  flex-direction: column;
  align-items: center;
}
.infoot{display: block;
    width: 100%;
    text-align: center;
    background: rgba(0, 0, 0, .3);
    padding: 10px 0;}
.menuzona{color: var(--wp--preset--color--accent-6);}    

/* ----------------- Desktop (>=768px) ----------------- */
@media (min-width: 768px) {
  .grid-container {
    grid-template-columns: 0.618fr 0.382fr;
    grid-template-areas:
      "titulo     titulo"
      "imagen     contacto"
      "descripcion amenidaxx"
      "mapa       amenidades"
      "botones    atractivos";
  }
}

/* ------------------ Mobile (<768px) ------------------ */
@media (max-width: 767px) {
  .grid-container {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas:
      "imagen     imagen"
      "titulo     titulo"
      "descripcion descripcion"
      "contacto   contacto"
      "amenidades atractivos"
      "amenidaxx    amenidaxx"
      "mapa       mapa"
      "botones    botones";
  }
}

/* Asigna cada área a su div */
.titulo      { grid-area: titulo; color:#000; padding:1rem; }
.hostid      { grid-area: imagen;      background:var(--ghost); }
.hostid .ftrimg {width: 100%;}
.descripcion { grid-area: descripcion; background:var(--ghost); }
.contacto    { grid-area: contacto;    background:var(--gost); }
.amenidades  { grid-area: amenidades;}
.atractivos  { grid-area: atractivos;  background:var(--gost); }
.amenidaxx    { grid-area: amenidaxx;     background:var(--gost); }
.mapa        { grid-area: mapa;}
.botones     { grid-area: botones;     background:#eee;     /* aquí van tus botones */ }



/*ESTILOS USER ACTIVE*/
.fav-card a img{ object-fit: cover;width: 100%;height: auto;}




/* Ficha destino en single alojamiento */
.destino.destino-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  padding: 32px 34px 28px;
  background: var(--destino-color, #0f172a);
  border-radius: 24px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.35);
  margin-top: 48px;
  color: #f8fafc;
  position: relative;
  overflow: hidden;
  background-size: cover;
  position: relative;
}
.destino.destino-summary:after{
  content: ""; position: absolute; top:0; left:0; right: 0; bottom:0; pointer-events: none;
  background:var(--destino-color);
  opacity: .94;
}


.destino.destino-summary .infodestiny-single,
.destino.destino-summary .atractivosdestiny-single {
  flex: 1 1 320px;
  position: relative;
  z-index: 1;
}

.destino.destino-summary a {
  color: #fdfdfd;
  text-decoration: none;
}
.destino.destino-summary a.titulox{    font-family: 'Roboto'; font-size: 36px; border: none;}
.destino.destino-summary a:hover,
.destino.destino-summary a:focus {
  text-decoration: underline;
}

.destino.destino-summary .nodata {
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.75);
}

.infodestiny-single {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.destino-logo {
    width: 98px;
    height: 98px;
    border-radius: 50%;
    overflow: hidden;
    border: 8px solid white;
    margin:0 14px 34px 0;
    align-self: flex-start;
    float: left;
}

.destino-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.infodestiny-single .destino-tag {
  display: block;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 600;
}

.infodestiny-single h3 {
  color: #ffffff; margin: 0; display: block; width: 100%;
}

.infodestiny-single p {
  margin: 0;
  font-size: 0.96rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.7);
}

.infodestiny-single .destino-address {
  font-weight: 500;
}

.infodestiny-single .destino-instrucciones {
  white-space: pre-line;
  color: rgba(255, 255, 255, 0.84);
}

.destino-actividades,
.destino-atractivos {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
  gap: 12px;
}
.destino-actividades{column-gap: 14px; row-gap: 0px; padding-top: 5px;}

.destino-actividades li {margin: 0;}
.destino-actividades li a{font-size: 16px;padding:6px 0;border-bottom: 1px solid rgba(255,255,255,0.22); font-weight: 400; opacity: .8;}
.destino-actividades li a:hover{text-decoration: none!important;}
.destino-actividades li a:hover{border-bottom: 1px solid rgba(255,255,255,0.7);}

.destino-actividades li:last-child {
  
}

.destino-actividades a {
  color: #ffffff;
  font-weight: 500;
}

.atractivosdestiny-single {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.atractivosdestiny-single h3 {
  color: #ffffff; margin: 28px 0 0;
}

.destino-atractivos li {
  align-items: center;
  color: var(--primary);
  display: grid;
  grid-template-columns: 1fr auto;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 50px;
  background: #fafaf7;
  padding:4px 10px 4px 4px;
  gap:6px;
  
}

.destino-atractivos li:last-child {
  border-bottom: none;
}

.atractivo-thumb {
  width: 32px;
  height: 32px;
  border-radius: 18px;
  object-fit: cover;
  background: rgba(15, 23, 42, 0.35);
}

.atractivo-thumb.placeholder {
  background-size: 42% auto;
  background-repeat: no-repeat;
  background-position: center;
  border: 2px solid rgba(255,255,255,0.35);
}

.destino-atractivos span {
  font-weight: 500; font-size: 14px;
}

.map-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

@media (max-width: 768px) {
  .destino.destino-summary {
    padding: 24px;
    gap: 24px;
  }

  .destino-logo {
    width: 72px;
    height: 72px;
  }

  .atractivo-thumb {
    width: 28px;
    height: 28px;
    object-fit: cover;
    border-radius: 50%;
  }
}

/*RESPONSIVE*/
@media (max-width: 1072px) {
  .callhoost .callphone span i{display: none;}
  .profilehoost{line-height: 1.1;}
}


/*CELULAR*/
@media (max-width: 768px) {




  .alojamientos-relacionados .resultados-grid.zonagrid{grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap: 1.2rem;}
  .tax-zona .hoost p{font-size: 12px;}
  .actividades-grid .titlemodul{font-size: 18px; margin: 0 20px 14px;}
  .hero-zona{padding:20px 20px 24px;}
  .galeria.galeria-zona > .wrap-container{padding: 0;}
  .galeria.galeria-zona{margin:1.2rem auto 0;}
  .wrap-container.destinit{gap: 1.2rem;}
  .act-card{padding: 11px 5px 9px;}
  .tax-zona .atractivos-grid{padding: 20px 10px;}
  .ubicacion-destino .ubic-info{padding: 20px; margin: 0 20px;}
  .ubicacion-destino .ubic-info h2{margin: 0 0 5px;font-size: 24px;}
  .hooster-map .btnmap{text-align: center;}
  .zonasdispo svg{top: 6px!important; width: 20px;}
  .infodestiny-single .destino-tag{    font-size: 10px;}
  .infodestiny-single p{clear: both;}
  .destino.destino-summary a.titulox{font-size: 28px;}
  .infodestiny-single h3{margin: 0 0 4px;}
  .atractivosdestiny-single h3{margin: 0px 0 4px;}
  .destino-atractivos span{font-size: 12px;}
  .destino-atractivos{gap: 10px;}
  .destino-logo{border: 5px solid white;}
  .sidebar-filtros__inner {height: calc(100vh - 48px);}
  .barra-superior{padding: 20px 0 0;}
  .resultados-contador{text-align: left; width: 100%;}
  .orderuix{display: none;}
  

  .cab{display: block;}
  .tax-zona .counter{text-align: center;}
  .alojamientos-relacionados{padding: 20px 0;}
  .alojamientos-relacionados h2{font-size: 24px;}
  .tax-zona .destinos-en-zona{padding-bottom: 30px;}
  .tax-zona .destinos-en-zona h2{text-align: center; font-size: 24px;}
  .tax-zona .grid-zonas.minicard{max-width: 100%; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: .8rem; padding: 0 16px;}
  .minicard .zona-card{margin: 0; grid-template-columns: 60px auto;}
  .minicard .zona-card .zona-info{padding: .5rem!important;}
  .zona-info h3{font-size: 13px !important; margin: 0!important;}
  .hooster-header__menu-toggle{border: 1px solid rgb(0 0 0 / 28%); color: #3f5b52;}


  .info p{clear: both;}
  .hero-grupo-zona h1{font-size: 32px;}
  .logo-zona{margin-bottom: 0;}
  .hoostpost{margin: 0 30px;}
  .notfoundtxt{font-size: 18px;}
  .tax-grupo_zona .btn-zone{margin: 7px 0 30px;}
  .hoostpost p{font-size: 14px;}

  .ubic-map{padding: .5rem 1rem;}
  .ubicacion-destino .ubic-grid{gap: 0;}

  .masalojas{display: none;}

  .resultados-grid{
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 1rem; margin-top: .8rem;
  }
  .hoost .zona strong{display: none;}
  .hoost h3{font-size: 16px;}

  .ficha .ftrimg{border-radius: 0;}

.hero-grupo-zona .wrap-container{grid-template-columns:1fr; padding:20px;}
.footerhoost h2{text-align: center;}
.footerhoost .infoot{font-size: 11px!important; opacity: .7;}

.busqueda-wrap{padding: 0 1em; position: relative; z-index: 11111;}
.barra-superior{width: 100%;}
.sidebar-filtros{max-width: 100%;}
.hero-search{margin-bottom: 0;}
.hero-search h1{margin:0; font-size: 21px;}

.wp-container-core-group-is-layout-f4c28e8b{place-content: space-between; width: 100%;}
.wp-container-core-group-is-layout-bb2ca1fc{margin:0 auto!important;}


.hap-content{    padding: 0 40px 100px;}
.hap-card{width: 100vw;height: 100vh;padding: 0;border-radius:0;}
.hap-modal{padding: 0;}
.arrowspopup{top: auto; width: calc(100% - 14px); bottom: 0; z-index: 111; margin: 0; position: fixed; background: white; padding: 7px 7px 5px; box-shadow: 0 0 20px rgba(37, 61, 72, .3);}
.arrowspopup button{color: #607D8B; opacity: .5; font-size:32px;}
.hap-overlay.is-open .hap-card{overflow-y: scroll;}
.titlepopup{width: 100%;margin-top: 0;top: auto;left: 0;border-radius: 0;position: fixed;bottom: 51px;}


  /*SINGLE ALOJA*/
  .ficha .h1title{font-size: 32px;}
  header.nombre, .galeria, .infohosp, .destino,
  .anfitriones, .fastinfo{margin: 0 15px;}
  .descripcion .titlemodul{margin: 10px 0 3px;}
  .descripcion, .amenidades{margin: 0 25px;}
  .mapbtns{margin: -73px 10px 12px;width: calc(100% - 20px); padding: 0;gap: 10px; }
  .zonasdispo{border-left: none; padding: 0 0px 10px 0px;}
  .btnmap{flex-direction: column; padding: 10px; text-decoration: center;}
  .zonamap{margin: 0 15px;}
  .ficha .redes{padding: 10px 10px 0;}
  .destino.destino-summary{margin-top: 8px;}
}

/*Centrar contenido verticalmente en home*/
@media (min-height: 900px) {
  
  body.home {display: flex; flex-direction: column; min-height: 100vh;}
  body.home .wrap-container.venancio{flex: 1; display: flex; align-items: center; justify-content: center;}
}
.hap-debug-fixed {
  position: fixed;
  bottom: 16px;
  right: 16px;
  width: min(460px, 90vw);
  max-height: 60vh;
  overflow: auto;
  z-index: 9999;
  background: rgba(15, 23, 42, 0.92);
  color: #e2e8f0;
  border: 1px solid rgba(148, 163, 184, 0.6);
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 13px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.45);
}
.hap-debug-fixed summary {
  cursor: pointer;
  font-weight: 600;
  color: #f8fafc;
}
.hap-debug-fixed pre {
  white-space: pre-wrap;
  word-break: break-word;
  margin-top: 8px;
}
