/* =========================================================
   TRAVANA · CSS GLOBAL v2 — OUTDOOR PREMIUM
   ========================================================= */

/* =========================================================
   PALETA DE COLORES
   ========================================================= */
:root{
  --travana-green:     #2D5C5F;
  --travana-green-mid: #3C6E71;
  --travana-green-light:#EBF2F2;
  --travana-terra:     #B5622A;
  --travana-terra-dark:#8F4A1C;
  --travana-cream:     #F7F4EF;
  --travana-white:     #FFFFFF;
  --travana-text:      #1E2B2C;
  --travana-muted:     #6B7A7B;
  --travana-border:    #DDE5E5;
  --travana-shadow-sm: 0 4px 14px rgba(45,92,95,.10);
  --travana-shadow-md: 0 10px 32px rgba(45,92,95,.12);
  --travana-shadow-lg: 0 20px 50px rgba(45,92,95,.15);
  --travana-blue:      #B5622A;
  --travana-brown:     #B5622A;
  --travana-soft:      #F7F4EF;
}

/* =========================================================
   BASE / BODY
   ========================================================= */
body{
  background-color:var(--travana-cream) !important;
  color:var(--travana-text) !important;
}

/* =========================================================
   LINKS
   ========================================================= */
a{ color:var(--travana-green) !important; }
a:hover{ color:var(--travana-terra) !important; }

/* =========================================================
   TIPOGRAFÍA — JERARQUÍA
   ========================================================= */
h1,
.hp-page__header h1,
.hp-page__header .page-title,
.hp-page__header h1.hp-page__title{
  font-size:42px !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  letter-spacing:-0.02em !important;
  color:var(--travana-green) !important;
  text-align:left !important;
  max-width:820px;
}

h2,
.hp-section__title,
.wp-block-heading.content-title{
  font-size:28px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  letter-spacing:-0.01em !important;
  color:var(--travana-green) !important;
  text-align:left !important;
}

h3,
.elementor-heading-title{
  font-size:20px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  color:var(--travana-text) !important;
}

.hp-page__header .hp-section__subtitle,
.hp-page__header .hp-page__description,
.wp-block-heading.content-title + p{
  font-size:17px !important;
  line-height:1.65 !important;
  color:var(--travana-muted) !important;
  text-align:left !important;
  font-weight:400 !important;
  max-width:620px;
  opacity:1 !important;
}

.hp-section__title::before,
.hp-page__header .hp-section__title::before,
.elementor-heading-title::before,
.wp-block-heading.content-title::before{
  display:none !important;
  content:none !important;
}

/* =========================================================
   HEADER / NAVBAR
   ========================================================= */
.header a,
.site-header a,
.hp-header a,
.hp-menu a,
.header-logo__name a,
.header-logo__description a{
  text-decoration:none !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  background-image:none !important;
}
.header a:hover,
.site-header a:hover,
.hp-header a:hover,
.hp-menu a:hover,
.header-logo__name a:hover,
.header-logo__description a:hover{
  text-decoration:none !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  background-image:none !important;
}

.header-logo__name,
.header-logo__name a{
  color:var(--travana-green) !important;
  font-weight:800 !important;
  letter-spacing:-0.02em !important;
  font-size:22px !important;
}
.header-logo__name a:hover{
  color:var(--travana-green) !important;
  opacity:.85;
}

.hp-menu__item--listing-submit.button.button--primary{
  background:var(--travana-terra) !important;
  color:var(--travana-white) !important;
  border-radius:9999px !important;
  border:none !important;
  padding-inline:26px !important;
  padding-block:10px !important;
  box-shadow:0 4px 14px rgba(181,98,42,.35) !important;
  font-weight:700 !important;
  font-size:14px !important;
  letter-spacing:.01em !important;
}
.hp-menu__item--listing-submit.button.button--primary:hover{
  background:var(--travana-terra-dark) !important;
  color:var(--travana-white) !important;
}

/* =========================================================
   ICONO BOTÓN BUSCADOR
   ========================================================= */
.hp-search-form__button svg,
.hp-search-form__button i{
  fill:#fff !important;
  color:#fff !important;
}

/* =========================================================
   BOTONES GLOBALES
   ========================================================= */
.button,
.wp-element-button{
  background-color:var(--travana-terra) !important;
  color:#fff !important;
  border-radius:10px !important;
  font-weight:600 !important;
  letter-spacing:.01em !important;
  transition:background .2s ease, box-shadow .2s ease !important;
}
.button:hover,
.wp-element-button:hover{
  background-color:var(--travana-terra-dark) !important;
  color:#fff !important;
}
.button:hover i,
.wp-element-button:hover i,
.button:hover svg,
.wp-element-button:hover svg{
  color:#fff !important;
  fill:#fff !important;
}

.hp-search-form__button,
button[type="submit"].hp-search-form__button{
  background-color:var(--travana-green) !important;
}
.hp-search-form__button:hover{
  background-color:var(--travana-green-mid) !important;
}

/* =========================================================
   BADGES
   ========================================================= */
.hp-badge{
  background-color:var(--travana-terra) !important;
  color:#fff !important;
  font-weight:700 !important;
  font-size:11px !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  border-radius:6px !important;
  padding:3px 8px !important;
}

/* =========================================================
   FLECHAS / INDICADORES SLIDERS
   ========================================================= */
.swiper-button-prev,
.swiper-button-next,
.hp-carousel__arrow,
.hp-slider__arrow,
.hp-carousel__indicator,
.hp-slider__indicator{
  display:none !important;
}

/* =========================================================
   SECCIONES ALTERNADAS
   ========================================================= */
.hp-section:nth-of-type(even){
  background:var(--travana-green-light);
  padding-top:64px;
  padding-bottom:64px;
}
.hp-section:nth-of-type(odd){
  background:var(--travana-cream);
  padding-top:64px;
  padding-bottom:64px;
}

/* =========================================================
   TARJETAS DE LISTADO
   ========================================================= */
.hp-listings .hp-listing,
.hp-listings .hp-listing-card,
.hp-listings .listing-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--travana-shadow-sm);
  border:1px solid var(--travana-border);
  transition:transform .25s ease, box-shadow .25s ease;
}
.hp-listings .hp-listing:hover{
  transform:translateY(-5px);
  box-shadow:var(--travana-shadow-lg);
  border-color:rgba(45,92,95,.20);
}

/* =========================================================
   IMÁGENES TARJETAS — FIX DEFINITIVO
   ========================================================= */
.hp-listing__image,
.hp-listing-card__image,
.listing-card__image{
  position:relative !important;
  width:100% !important;
  height:230px !important;
  min-height:230px !important;
  max-height:230px !important;
  overflow:hidden !important;
  background:#DDE5E5 !important;
  flex-shrink:0 !important;
}

.hp-listing__image img,
.hp-listing-card__image img,
.listing-card__image img{
  position:absolute !important;
  inset:0 !important;
  top:0 !important;
  left:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}

.hp-listing__image[style*="background"],
.hp-listing-card__image[style*="background"],
.listing-card__image[style*="background"]{
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}

.hp-listings .hp-listing__image{
  border-top-left-radius:16px;
  border-top-right-radius:16px;
}

@media (max-width:768px){
  .hp-listing__image,
  .hp-listing-card__image,
  .listing-card__image{
    height:200px !important;
    min-height:200px !important;
    max-height:200px !important;
  }
}
@media (max-width:480px){
  .hp-listing__image,
  .hp-listing-card__image,
  .listing-card__image{
    height:185px !important;
    min-height:185px !important;
    max-height:185px !important;
  }
}

/* =========================================================
   TARJETAS HOME + SWIPER
   ========================================================= */
body.home .hp-listing,
body.home .hp-listing--view-block,
body.home .hp-listing--view-grid,
body.home .swiper-slide .hp-listing,
body.home .swiper-slide .hp-listing--view-block{
  border-radius:16px !important;
  overflow:hidden !important;
  background:#fff !important;
  display:flex !important;
  flex-direction:column !important;
  box-shadow:var(--travana-shadow-sm) !important;
  border:1px solid var(--travana-border) !important;
}

body.home .hp-listing__image,
body.home .hp-listing__thumbnail,
body.home .hp-listing__images,
body.home .swiper-slide .hp-listing__image,
body.home .swiper-slide .hp-listing__thumbnail{
  position:relative !important;
  width:100% !important;
  height:230px !important;
  min-height:230px !important;
  max-height:230px !important;
  overflow:hidden !important;
  border-radius:0 !important;
  flex-shrink:0 !important;
  background:#DDE5E5 !important;
}

body.home .hp-listing__image img,
body.home .hp-listing__thumbnail img,
body.home .hp-listing__images img,
body.home .swiper-slide .hp-listing__image img,
body.home .swiper-slide .hp-listing__thumbnail img{
  position:absolute !important;
  inset:0 !important;
  top:0 !important;
  left:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}

body.home .hp-listing__image[style*="background"],
body.home .hp-listing__thumbnail[style*="background"],
body.home .swiper-slide .hp-listing__image[style*="background"],
body.home .swiper-slide .hp-listing__thumbnail[style*="background"]{
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}

body.home .hp-listing__content,
body.home .hp-listing__footer{
  border-radius:0 !important;
}
body.home .hp-listing__footer{
  border-top:1px solid rgba(0,0,0,.05) !important;
}

@media (max-width:768px){
  body.home .hp-listing__image,
  body.home .hp-listing__thumbnail,
  body.home .hp-listing__images,
  body.home .swiper-slide .hp-listing__image,
  body.home .swiper-slide .hp-listing__thumbnail{
    height:200px !important;
    min-height:200px !important;
    max-height:200px !important;
  }
}
@media (max-width:480px){
  body.home .hp-listing__image,
  body.home .hp-listing__thumbnail,
  body.home .hp-listing__images,
  body.home .swiper-slide .hp-listing__image,
  body.home .swiper-slide .hp-listing__thumbnail{
    height:185px !important;
    min-height:185px !important;
    max-height:185px !important;
  }
}

/* =========================================================
   CONTENIDO TARJETAS
   ========================================================= */
.hp-listings .hp-listing__content{
  padding:14px 16px 18px;
  display:flex;
  flex-direction:column;
  gap:5px;
}

.hp-listings .hp-listing__title,
.hp-listings .hp-listing-card__title,
.hp-listings .listing-card__title{
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  letter-spacing:-0.01em !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.hp-listing__title,
.hp-listing-card__title,
.listing-card__title,
.hp-listings .hp-listing__title a,
.hp-listings .listing-card__title a,
.hp-listings .hp-listing-card__title a{
  color:var(--travana-text) !important;
}
.hp-listing__title a:hover,
.hp-listings .hp-listing__title a:hover{
  color:var(--travana-green) !important;
}

.hp-listings .hp-listing__details .hp-meta{
  color:var(--travana-muted) !important;
  font-size:13px !important;
}

/* =========================================================
   CATEGORÍA SOBRE LA IMAGEN
   ========================================================= */
.listing-card__image .listing-card__category a,
.hp-listing__image .listing-card__category a,
.hp-listing-card__image .listing-card__category a,
.hp-listing__categories a{
  color:#fff !important;
  background-color:rgba(45,92,95,.75) !important;
  padding:5px 12px !important;
  border-radius:7px !important;
  font-weight:700 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  font-size:10px !important;
  display:inline-block !important;
}

/* =========================================================
   ICONO UBICACIÓN
   ========================================================= */
.hp-form__field--location i.hp-icon::before{
  font-family:"Font Awesome 5 Free" !important;
  font-weight:900 !important;
  content:"\f5b6" !important;
}
.hp-form__field--location .hp-icon,
.hp-form__field--location .hp-icon::before{
  color:var(--travana-green) !important;
}

/* =========================================================
   TÍTULOS CATEGORÍAS DESTACADAS
   ========================================================= */
.hp-listing-category--view-block .hp-listing-category__name a,
.hp-listing-category--view-block .hp-listing-category__name,
.hp-listing-category--view-block .hp-listing-category__content h3,
.hp-listing-category--view-block .hp-listing-category__content h2,
.hp-listing-category--view-block a.hp-listing-category__name{
  color:#fff !important;
  font-weight:800 !important;
  letter-spacing:-0.01em !important;
  text-shadow:0 2px 8px rgba(0,0,0,.50);
}

/* =========================================================
   ATRIBUTOS
   ========================================================= */
.hp-icon.fas.fa-lock,
.hp-icon.fas.fa-shield-alt{
  color:var(--travana-green) !important;
  margin-right:6px;
  font-size:12px;
  vertical-align:middle;
}

.hp-listing__attributes,
.hp-listing__details{
  display:flex !important;
  gap:16px !important;
  justify-content:flex-start !important;
  align-items:center !important;
  flex-wrap:wrap;
}
.hp-listing__attribute{
  margin-right:0 !important;
  white-space:nowrap;
  font-size:13px !important;
  color:var(--travana-muted) !important;
}
.hp-listing__attribute .hp-icon{
  margin-right:5px !important;
}

/* =========================================================
   PRECIO — GLOBAL
   ========================================================= */
body .hp-listing__details .hp-meta--price,
body .hp-listing__details .hp-meta--price *,
body .hp-listing__attribute--price,
body .hp-listing__attribute--price *,
body .hp-listing__attribute--price-per-night,
body .hp-listing__attribute--price-per-night *{
  color:var(--travana-green) !important;
  font-weight:700 !important;
}

.hp-listings .hp-listing__attribute--price,
.hp-listings .hp-listing__price,
.hp-listings .hp-listing__price--primary{
  display:none !important;
}

body.single .hp-listing__attribute--price,
body.single .hp-listing__price,
body.single .hp-listing__price--primary{
  display:block !important;
}

/* =========================================================
   PRECIO — FICHA INDIVIDUAL
   ========================================================= */
body.single .hp-listing__attributes--primary{
  background:#FFFFFF !important;
  padding:28px 22px !important;
  border-radius:18px !important;
  border:1px solid var(--travana-border) !important;
  box-shadow:var(--travana-shadow-md) !important;
  text-align:center !important;
}

body.single .hp-listing__attributes--primary .hp-listing__attribute--price::before,
body.single .hp-listing__attributes--primary .hp-listing__attribute--price::after{
  content:none !important;
  display:none !important;
}

body.single .hp-listing__attributes--primary .travana-price-label{
  display:block !important;
  font-size:11px !important;
  font-weight:700 !important;
  color:var(--travana-muted) !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  margin:0 0 10px 0 !important;
}

body.single .hp-listing__attributes--primary .hp-listing__attribute--price{
  font-size:28px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:-0.02em !important;
  color:var(--travana-green) !important;
  margin:0 !important;
}

body.single .hp-listing__attributes--primary .hp-listing__attribute{
  padding:0 !important;
}

/* =========================================================
   PRECIO USD
   ========================================================= */
.hp-listing__attribute--dolar{
  font-size:14px !important;
  font-weight:500 !important;
  color:var(--travana-terra) !important;
  line-height:1.2 !important;
  margin-top:6px !important;
  display:inline-flex !important;
  align-items:baseline !important;
  gap:4px !important;
  opacity:.9;
}
.hp-listing__attribute--dolar *,
.hp-listing__attribute--dolar strong,
.hp-listing__attribute--dolar b{
  font-weight:500 !important;
  font-size:inherit !important;
  color:inherit !important;
}

/* =========================================================
   DEPÓSITO / GARANTÍA SIDEBAR
   ========================================================= */
.hp-listing__booking-security-deposit{
  font-size:14px !important;
  font-weight:500 !important;
  color:var(--travana-muted) !important;
  margin-top:8px;
  background:transparent !important;
  padding:0 !important;
  box-shadow:none !important;
  opacity:.85;
}
.hp-listing__booking-security-deposit strong{
  font-weight:600 !important;
}
.hp-listing__booking-sidebar .hp-listing__attribute--security_deposit{
  font-size:14px !important;
  font-weight:500 !important;
}
.hp-listing__attribute.hp-listing__attribute--booking-deposit{
  font-size:14px !important;
  font-weight:500 !important;
  color:var(--travana-muted) !important;
  line-height:1.2 !important;
  margin-top:8px !important;
  background:transparent !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
}

body.single .hp-listing__booking-sidebar .travana-price-label{
  font-size:11px !important;
  font-weight:700 !important;
  color:var(--travana-muted) !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  margin-bottom:10px !important;
}

body.single .hp-listing__booking-sidebar .hp-listing__attribute--price::before,
body.single .hp-listing__booking-sidebar .hp-listing__attribute--price::after{
  content:none !important;
  display:none !important;
}

/* =========================================================
   HOME: forzar campo personas
   ========================================================= */
.home .hp-search-form .hp-form__field--guests,
.home .hp-search-form .hp-form__field--persons,
.home .hp-search-form [name="guests"],
.home .hp-search-form [name="persons"],
.home .hp-search-form [name="_guests"],
.home .hp-search-form [name="_persons"]{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

/* =========================================================
   FIX overlay HOME
   ========================================================= */
.home .hp-page__header::before,
.home .hp-page__header::after,
.home .elementor-background-overlay,
.home .wp-block-cover__background,
.home .wp-block-cover__image-background,
.home .wp-block-cover__video-background{
  pointer-events:none !important;
}
.home .hp-search-form,
.home .hp-search-form *{
  pointer-events:auto !important;
}
.home .hp-search-form{
  position:relative !important;
  z-index:99999 !important;
}

/* =========================================================
   FECHAS: placeholder suave
   ========================================================= */
.hp-field--date input:placeholder-shown,
.hp-field--date-range input:placeholder-shown{
  color:#A8B5B6 !important;
  font-weight:400 !important;
}

