/* ===== Contenedor general ===== */
.wasi-single {
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px;
  box-sizing: border-box;
}

.wasi-single__header {
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(0,0,0,.06);
  padding-bottom: 16px;
}

.wasi-single__title {
  margin: 0 0 8px 0;
  line-height: 1.2;
  font-weight: 700;
}

.wasi-single__price {
  display: inline-block;
  font-weight: 700;
  padding: 6px 10px;
  border-radius: 10px;
  background: rgba(0,0,0,.05);
  margin-right: 10px;
}

.wasi-single__address {
  color: rgba(0,0,0,.65);
}

/* ===== Galería responsiva ===== */
.wasi-single__gallery {
  margin: 24px 0;
}

.wasi-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

.wasi-gallery__item {
  overflow: hidden;
  border-radius: 12px;
  background: #f7f7f7;
}

.wasi-gallery__item img {
  width: 100%;
  height: 220px;        /* controla altura de las miniaturas */
  object-fit: cover;    /* recorta sin deformar */
  display: block;
}

/* En pantallas grandes, la primera imagen más grande (opcional) */
@media (min-width: 992px) {
  .wasi-gallery__item:first-child {
    grid-column: span 2;
  }
  .wasi-gallery__item:first-child img {
    height: 460px;
  }
}

/* ===== Meta (área, habitaciones, etc.) ===== */
.wasi-single__meta {
  margin: 20px 0;
}

.wasi-meta {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px 16px;
}

.wasi-meta li {
  background: #fafafa;
  border: 1px solid #eee;
  border-radius: 10px;
  padding: 10px 12px;
}

/* ===== Descripción ===== */
.wasi-single__description {
  margin: 24px 0;
}

.wasi-single__description h2,
.wasi-single__features h2,
.wasi-single__contact h2 {
  font-size: 1.25rem;
  margin: 0 0 10px 0;
}

/* ===== Características ===== */
.wasi-single__features {
  margin: 24px 0;
}

.wasi-features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px 16px;
}

.wasi-features li {
  position: relative;
  padding-left: 22px;
}

.wasi-features li::before {
  content: "•";
  position: absolute;
  left: 8px;
  color: #999;
}

/* ===== Contacto ===== */
.wasi-single__contact {
  margin: 28px 0 8px 0;
  padding: 16px;
  border: 1px dashed #ddd;
  border-radius: 12px;
}

/* ===== Utilidades ===== */
.wasi-single img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 480px) {
  .wasi-gallery__item img { height: 180px; }
}

/* Fallback: si por algo no se inicializa, que las imágenes se vean */
.wasi-single__gallery .flexslider .slides > li { display: block; }

/* Imagen principal: alturas uniformes + recorte limpio */
.wasi-flexslider-main .slides li img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
  border-radius: 12px;
}

/* Thumbnails */
.wasi-flexslider-thumbs .slides li img {
  width: 100%;
  height: 90px;
  object-fit: cover;
  display: block;
  border-radius: 8px;
}

/* Primera imagen destacada en desktop */
@media (min-width: 992px) {
  .wasi-flexslider-main .slides li:first-child img { height: 480px; }
}

/* Responsivo */
@media (max-width: 992px) {
  .wasi-flexslider-main .slides li img { height: 320px; }
  .wasi-flexslider-thumbs .slides li img { height: 80px; }
}
@media (max-width: 600px) {
  .wasi-flexslider-main .slides li img { height: 240px; }
  .wasi-flexslider-thumbs .slides li img { height: 70px; }
}

/* Título “¿Te interesa este inmueble?” más grande */
.wasi-single__contact h2 {
  font-size: 2rem;
  line-height: 1.25;
  margin-bottom: 12px;
  font-weight: 800;
}

/* Fuente de iconos de FlexSlider desde el tema hijo */
@font-face {
  font-family: 'flexslider-icon';
  src: url('../fonts/flexslider-icon.eot');
  src: url('../fonts/flexslider-icon.eot?#iefix') format('embedded-opentype'),
       url('../fonts/flexslider-icon.woff') format('woff'),
       url('../fonts/flexslider-icon.ttf') format('truetype'),
       url('../fonts/flexslider-icon.svg#flexslider-icon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* ===== Títulos internos de la ficha ===== */
/* Cubre h2 y, por si acaso, strong como primer hijo (algunas plantillas lo usan) */
.wasi-single__description > h2,
.wasi-single__features > h2,
.wasi-single__contact > h2,
.wasi-single__description > strong:first-child,
.wasi-single__features > strong:first-child,
.wasi-single__contact > strong:first-child {
  display: block;
  font-size: clamp(1.25rem, 1.1rem + 1.2vw, 1.8rem); /* responsive */
  font-weight: 800;
  line-height: 1.2;
  margin: 24px 0 12px 0;
  color: var(--e-global-color-primary, #111);
}

/* Línea/acento debajo del título (opcional, se ve “de sección”) */
.wasi-single__description > h2::after,
.wasi-single__features > h2::after,
.wasi-single__contact > h2::after,
.wasi-single__description > strong:first-child::after,
.wasi-single__features > strong:first-child::after,
.wasi-single__contact > strong:first-child::after {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  margin-top: 8px;
  border-radius: 2px;
  background: var(--e-global-color-accent, #06b6d4);
}

/* Espaciados de las secciones para que respiren */
.wasi-single__description,
.wasi-single__features,
.wasi-single__contact {
  margin: 28px 0;
}

/* Que el cursor indique clic en las imágenes y los enlaces ocupen todo el slide */
.wasi-flexslider-main .slides li a,
.wasi-flexslider-thumbs .slides li a {
  display: block;
  cursor: zoom-in;
}

/* Cargar la fuente de iconos desde el tema hijo (../fonts/ relative a /css/) */
@font-face {
  font-family: 'flexslider-icon';
  src: url('../fonts/flexslider-icon.eot');
  src: url('../fonts/flexslider-icon.eot?#iefix') format('embedded-opentype'),
       url('../fonts/flexslider-icon.woff') format('woff'),
       url('../fonts/flexslider-icon.ttf') format('truetype'),
       url('../fonts/flexslider-icon.svg#flexslider-icon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Usar los glifos reales (\f001 prev, \f002 next) */
.wasi-single__gallery .flex-direction-nav a { opacity: 1; z-index: 10; }
.wasi-single__gallery .flex-direction-nav .flex-prev { left: 12px; }
.wasi-single__gallery .flex-direction-nav .flex-next { right: 12px; }

.wasi-single__gallery .flex-direction-nav a::before {
  font-family: 'flexslider-icon' !important;
  font-size: 26px;
  line-height: 42px;
  color: #fff;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.35);
  border-radius: 999px;
}

.wasi-single__gallery .flex-direction-nav .flex-prev::before { content: "\f001"; }
.wasi-single__gallery .flex-direction-nav .flex-next::before { content: "\f002"; }

/* ===== Precio “pill” destacado ===== */
.wasi-single__price{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  background: linear-gradient(135deg,#16a34a,#22c55e); /* verde agradable */
  color:#fff;
  font-weight:800;
  font-size: clamp(1.1rem, 0.8rem + 1.6vw, 2.1rem); /* grande y responsive */
  box-shadow: 0 8px 24px rgba(34,197,94,.25);
  letter-spacing:.2px;
}

/* Símbolo al inicio, más fuerte */
.wasi-single__price .symbol{
  font-weight:900;
  transform: translateY(-1px);
}

/* Cantidad bien legible */
.wasi-single__price .amount{
  line-height:1;
}

/* “COP/USD” como badge pequeño */
.wasi-single__price .currency{
  font-size:.80em;
  opacity:.95;
  padding:2px 8px;
  background: rgba(255,255,255,.18);
  border-radius:8px;
  letter-spacing:.4px;
  text-transform: uppercase;
}

/* Espaciado bajo el encabezado */
.wasi-single__header .wasi-single__price{ margin-top:10px; }

/* ===== CTA WhatsApp — diseño centrado y con botón ===== */
.wasi-cta{
  margin: 40px 0 10px;
  padding: 24px;
  text-align: center;
  background: linear-gradient(180deg,#f6fff9 0,#e9f9ef 100%);
  border: 1px solid #c9f2dc;
  border-radius: 16px;
}

.wasi-cta__title{
  margin: 0 0 14px;
  font-size: clamp(1.3rem, 1rem + 1.6vw, 2rem);
  font-weight: 800;
  line-height: 1.15;
  color: var(--e-global-color-primary, #111);
}

/* Botón */
.wasi-cta__btn{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 22px;
  border-radius: 999px;
  background: linear-gradient(135deg,#25D366,#128C7E); /* WhatsApp */
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(18,140,126,.25);
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.wasi-cta__btn:hover{ transform: translateY(-1px); box-shadow: 0 14px 28px rgba(18,140,126,.35); }
.wasi-cta__btn:active{ transform: translateY(0); opacity: .95; }
.wasi-cta__btn:focus-visible{ outline: 2px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 3px rgba(18,140,126,.5); }

/* Icono: usa SVG por CSS (no dependes del emoji) */
.wasi-cta__btn-icon{
  width:22px; height:22px;
  align-items:center; justify-content:center;
  margin-right:8px;
  font-size:20px; line-height:1;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
}
/* ================= INMOBILIARIA – GRID (properties.grib.php) ================= */
:root{
  --ds-brand:#0ea5e9;          /* azul marca */
  --ds-brand-dark:#0369a1;     /* hover */
}

/* Imagen consistente y con bordes arriba */
.listings-row.propertiesGrid1 .listing-column .listing-column-image{
  height:260px;
  border-top-left-radius:14px;
  border-top-right-radius:14px;
  background-size:cover;
  background-position:center;
}

/* Título compacto y azul (2 líneas máx.) */
.listings-row.propertiesGrid1 .listing-column .listing-column-title{
  height:auto !important; min-height:0 !important;
  padding:10px 10px 8px; margin:0;
}
.listings-row.propertiesGrid1 .listing-column .listing-column-title h3{
  margin:6px 0 4px; line-height:1.18 !important;
}
.listings-row.propertiesGrid1 .listing-column .listing-column-title h3 > a{
  color:var(--ds-brand) !important;
  font-size:clamp(1.06rem,.92rem + .55vw,1.35rem) !important;
  font-weight:800; letter-spacing:0 !important;
  line-height:1.18 !important; text-decoration:none !important;
  font-family:inherit !important;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  overflow:hidden; text-overflow:ellipsis; white-space:normal;
}
.listings-row.propertiesGrid1 .listing-column .listing-column-title h3 > a:hover{
  color:var(--ds-brand-dark) !important;
}

/* Detalles (alcobas/baños/parqueaderos) más alineados */
.listings-row.propertiesGrid1 .listing-column .listing-column-details{
  display:flex; flex-wrap:wrap; gap:8px 14px;
  padding:8px 10px 12px;
}
.listings-row.propertiesGrid1 .listing-column .listing-column-details > div{
  display:inline-flex; align-items:center; gap:6px;
  font-size:.95rem; color:#334155;
}
.listings-row.propertiesGrid1 .listing-column .listing-column-details i{
  color:var(--ds-brand) !important;
  font-size:1.05rem; transform:translateY(1px);
}

/* Hover de tarjeta */
.listings-row.propertiesGrid1 .listing-column{
  transition: box-shadow .18s ease, transform .18s ease;
}
.listings-row.propertiesGrid1 .listing-column:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0,0,0,.12);
}

/* ---------- Precio como BADGE ---------- */
.listings-row.propertiesGrid1 .listing-column .price-badge{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 12px; border-radius:999px;
  color:#fff; font-weight:800; font-size:.96rem; line-height:1;
  letter-spacing:.2px; box-shadow:0 8px 20px rgba(0,0,0,.08);
}
/* Venta (verde) / Arriendo (azul) — requieren la clase en el contenedor */
.listings-row.propertiesGrid1 .listing-column.is-sale .price-badge{
  background:linear-gradient(135deg,#16a34a,#22c55e);
  box-shadow:0 8px 20px rgba(34,197,94,.18);
}
.listings-row.propertiesGrid1 .listing-column.is-rent .price-badge{
  background:linear-gradient(135deg,#0ea5e9,#06b6d4);
  box-shadow:0 8px 20px rgba(6,182,212,.20);
}

/* ---------- Etiquetas sobre la imagen (Venta / Arriendo / Tipo) ---------- */
.listings-row.propertiesGrid1 .listing-column .listing-column-image-wrapper{ position:relative; }
.listings-row.propertiesGrid1 .listing-column .listing-column-label{
  position:absolute; bottom:.6em; left:.6em;
  padding:4px 8px; border-radius:6px;
  color:#fff; font-size:.7rem; font-weight:700; text-shadow:none;
}
/* Colores coherentes con el badge */
.listings-row.propertiesGrid1 .listing-column .listing-column-label.for-sale{ background:#22c55e; }
.listings-row.propertiesGrid1 .listing-column .listing-column-label.for-rent{ background:#06b6d4; right:.6em; left:auto; }
/* Tipo arriba/izq en fondo translúcido */
.listings-row.propertiesGrid1 .listing-column .listing-column-label.id_property_type1{
  top:.6em; bottom:auto; background:rgba(0,0,0,.45);
}
/* ===== Beneficios en rejilla: siempre alineados ===== */
.listings-row.propertiesGrid1 .listing-column .listing-column-details{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr)); /* 3 columnas */
  column-gap: 16px;
  row-gap: 10px;
  padding: 10px 14px 16px;
  align-items: center;
}

.listings-row.propertiesGrid1 .listing-column .listing-column-details > div{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;               /* evita desbordes */
  font-size: clamp(0.98rem, 0.92rem + 0.45vw, 1.12rem);
  line-height: 1.25;
}

.listings-row.propertiesGrid1 .listing-column .listing-column-details > div b{
  font-weight: 700;
  color: #0f172a;
  margin-right: 2px;
  font-size: .92em;           /* etiqueta un poco más pequeña que el número */
}

.listings-row.propertiesGrid1 .listing-column .listing-column-details i{
  color: var(--ds-brand) !important;
  font-size: clamp(1.10rem, 0.98rem + 0.60vw, 1.28rem);
  transform: translateY(1px);
}

/* Responsive: 2 columnas en tablet, 1 en móvil */
@media (max-width: 980px){
  .listings-row.propertiesGrid1 .listing-column .listing-column-details{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}
@media (max-width: 560px){
  .listings-row.propertiesGrid1 .listing-column .listing-column-details{
    grid-template-columns: 1fr;
  }
}
