/* ============================================================
   VPH BUSCADOR - Valencia Prime Homes
   Sobreescribe custom.css donde sea necesario
   ============================================================ */

:root {
  --vph-blue: #196bd8;
  --vph-white: #ffffff;
  --vph-border: #e2e2e6;
  --vph-text: #1a1a1a;
  --vph-label: #444444;
  --vph-bg: #f5f5f7;
}

/* ══════════════════════════════════════════════
   BUSCADOR — ESTRUCTURA PRINCIPAL
   ══════════════════════════════════════════════ */

#myhome-search-form .mh-search-horizontal {
  background: #fff !important;
  padding: 0 !important;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.09) !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

/* Form: position relative para anclar botones */
#myhome-search-form form {
  display: block !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Grid de campos: reserva 160px a la derecha para los botones */
#myhome-search-form #buscador_inmuebles {
  display: flex !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
  padding: 0 160px 0 0 !important;
  align-content: flex-start !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Cada celda del buscador */
#myhome-search-form .mh-search__element {
  flex: 1 1 180px !important;
  min-width: 150px !important;
  max-width: 260px !important;
  width: auto !important; /* reset custom.css width:25%/20% */
  border-right: 1px solid var(--vph-border) !important;
  border-bottom: none !important;
  padding: 16px 18px !important;
  background: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* Fila avanzada */
#myhome-search-form .mh-search__element.advance_show {
  border-top: 1px solid var(--vph-border) !important;
}

/* Labels */
#myhome-search-form .mh-search__label {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--vph-label) !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  font-style: normal !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

/* Selects — reset custom.css (height:50px, border, font-style:italic) */
#myhome-search-form select.form-control,
#myhome-search-form select.letra_buscador,
#myhome-search-form select#provinciaSel,
#myhome-search-form select#municipioSel,
#myhome-search-form select#zonaSel,
#myhome-search-form select#property-type,
#myhome-search-form select#TipoOperacion {
  width: 100% !important;
  height: auto !important;
  border: none !important;
  border-bottom: 1px solid var(--vph-border) !important;
  border-radius: 0 !important;
  padding: 4px 0 6px !important;
  font-size: 14px !important;
  font-style: normal !important;
  color: var(--vph-text) !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: normal !important;
  -webkit-appearance: auto !important;
  appearance: auto !important;
  cursor: pointer !important;
}

#myhome-search-form select:focus {
  outline: none !important;
  border: none !important;
  border-bottom: 1px solid var(--vph-blue) !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Inputs — reset custom.css (line-height:28px, border on focus) */
#myhome-search-form input[type="text"],
#myhome-search-form input[type="number"] {
  width: 100% !important;
  height: auto !important;
  border: none !important;
  border-bottom: 1px solid var(--vph-border) !important;
  border-radius: 0 !important;
  padding: 4px 0 6px !important;
  font-size: 14px !important;
  font-style: normal !important;
  color: var(--vph-text) !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: normal !important;
}

#myhome-search-form input[type="text"]:focus,
#myhome-search-form input[type="text"]:active,
#myhome-search-form input[type="number"]:focus,
#myhome-search-form input[type="number"]:active {
  outline: none !important;
  border: none !important;
  border-bottom: 1px solid var(--vph-blue) !important;
  background: transparent !important;
  box-shadow: none !important;
}

#myhome-search-form input::placeholder {
  color: #aaa !important;
  font-style: normal !important;
}

/* Bootstrap-select */
#myhome-search-form .btn-group.bootstrap-select {
  width: 100% !important;
}
#myhome-search-form .bootstrap-select > .btn.dropdown-toggle {
  width: 100% !important;
  border: none !important;
  border-bottom: 1px solid var(--vph-border) !important;
  border-radius: 0 !important;
  padding: 4px 0 6px !important;
  background: transparent !important;
  font-size: 14px !important;
  color: var(--vph-text) !important;
  box-shadow: none !important;
  text-align: left !important;
  height: auto !important;
}
#myhome-search-form .bootstrap-select .filter-option {
  font-style: normal !important;
  color: var(--vph-text) !important;
}

/* Ocultar advance_show por defecto */
#myhome-search-form .advance_show {
  display: none !important;
}

/* ══════════════════════════════════════════════
   CHECKBOXES
   ══════════════════════════════════════════════ */

#myhome-search-form .mh-search__element--fullwidth {
  flex: 1 1 100% !important;
  max-width: 100% !important;
  width: 100% !important;
  border-right: none !important;
  border-top: none !important;
  padding: 14px 18px !important;
  background: #f9f9fb !important;
}

#myhome-search-form .mh-search__panel--checkbox {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 24px !important;
  align-items: center !important;
}

#myhome-search-form .mh-search__panel__checkbox {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
}

#myhome-search-form .changecheck {
  cursor: pointer !important;
}

#myhome-search-form .changecheck span {
  width: 16px !important;
  height: 16px !important;
  border: 2px solid var(--vph-blue) !important;
  border-radius: 3px !important;
  display: inline-block !important;
  background: #fff !important;
  position: relative !important;
  flex-shrink: 0 !important;
}

/* Reset check-mark de custom.css */
.check-mark {
  display: none !important;
}

#myhome-search-form .editcheckhide {
  display: none !important;
  position: absolute !important;
}

#myhome-search-form .editcheckhide:checked + span {
  background: var(--vph-blue) !important;
  border-color: var(--vph-blue) !important;
}

#myhome-search-form .editcheckhide:checked + span::before {
  content: "✓" !important;
  position: absolute !important;
  top: -2px !important;
  left: 1px !important;
  font-size: 11px !important;
  color: #fff !important;
  font-weight: bold !important;
}

#myhome-search-form .remember {
  font-size: 13px !important;
  color: #444 !important;
  cursor: pointer !important;
  font-weight: normal !important;
  font-style: normal !important;
}

/* ══════════════════════════════════════════════
   BOTONES — posición absoluta, toda la altura
   ══════════════════════════════════════════════ */

#myhome-search-form .mh-search__buttons {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 160px !important;
  margin: 0 !important; /* reset custom.css margin-top */
  padding: 0 !important;
  border-left: 1px solid var(--vph-border) !important;
  z-index: 2 !important;
}

/* Botón lupa (advance_btn) — solo icono */
#myhome-search-form #advance_btn {
  width: 52px !important;
  flex-shrink: 0 !important;
  background: rgba(25, 107, 216, 0.07) !important;
  color: transparent !important;
  font-size: 0 !important;
  border: none !important;
  border-right: 1px solid var(--vph-border) !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.2s !important;
}
#myhome-search-form #advance_btn:hover,
#myhome-search-form #advance_btn.vph-active {
  background: rgba(25, 107, 216, 0.15) !important;
}
#myhome-search-form #advance_btn::before {
  content: "" !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7' stroke='%23196BD8' stroke-width='2.2' fill='none'/%3E%3Cline x1='16.5' y1='16.5' x2='22' y2='22' stroke='%23196BD8' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}
#myhome-search-form #advance_btn.vph-active::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7' stroke='%23196BD8' stroke-width='2.2' fill='none'/%3E%3Cline x1='7' y1='11' x2='15' y2='11' stroke='%23196BD8' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

#myhome-search-form #hide_btn {
  display: none !important;
}

/* Botón BUSCAR */
#myhome-search-form button[type="submit"].mdl-button--clear {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  background: var(--vph-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 0 10px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  box-shadow: none !important;
  transition: background 0.2s !important;
}
#myhome-search-form button[type="submit"].mdl-button--clear:hover {
  background: #1258b5 !important;
}
#myhome-search-form button[type="submit"].mdl-button--clear::before {
  content: "" !important;
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7' stroke='white' stroke-width='2.2' fill='none'/%3E%3Cline x1='16.5' y1='16.5' x2='22' y2='22' stroke='white' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  flex-shrink: 0 !important;
}

/* ══════════════════════════════════════════════
   BARRA "+ Buscar por ciertas características"
   ══════════════════════════════════════════════ */

#vph-check-bar {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: var(--vph-blue) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 10px 20px !important;
  cursor: pointer !important;
  user-select: none !important;
  border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: background 0.2s !important;
}
#vph-check-bar:hover {
  background: #1258b5 !important;
}
#vph-check-bar .vph-check-bar__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  font-size: 14px !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}

/* ══════════════════════════════════════════════
   BARRA DE FILTROS (bajo el buscador)
   ══════════════════════════════════════════════ */

#myhome-listing .mh-filters {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: var(--vph-bg) !important;
  border-top: 1px solid var(--vph-border) !important;
  border-bottom: 1px solid var(--vph-border) !important;
  padding: 10px 20px !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

#myhome-listing .mh-filters__left,
#myhome-listing .mh-filters__right {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  float: none !important; /* reset custom.css */
}

#myhome-listing .mh-filters__sort {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #333 !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin: 0 4px 0 0 !important;
}

/* Reset float del custom.css */
#myhome-listing .mh-filters__buttons {
  float: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 !important;
}

#myhome-listing .mh-filters__button {
  color: #444 !important;
  text-decoration: none !important;
  font-size: 13px !important;
  padding: 5px 14px !important;
  border-radius: 0px !important;
  border: 1px solid var(--vph-border) !important;
  background: #fff !important;
  transition: all 0.15s !important;
  font-weight: 500 !important;
}
#myhome-listing .mh-filters__button:hover,
#myhome-listing .mh-filters__button.mh-filters__button--active {
  color: var(--vph-blue) !important;
  border-color: var(--vph-blue) !important;
  background: rgba(25, 107, 216, 0.05) !important;
}

/* Botones tipo listado (grid / lista) */
#myhome-listing .mh-filters__right button {
  background: #fff !important;
  border: 1px solid var(--vph-border) !important;
  border-radius: 4px !important;
  padding: 5px 9px !important;
  cursor: pointer !important;
  color: #bbb !important;
  font-size: 15px !important;
  line-height: 1 !important;
  float: none !important;
  transition: all 0.15s !important;
}
#myhome-listing .mh-filters__right button.mh-filters__right__button--active {
  border-color: var(--vph-blue) !important;
  color: var(--vph-blue) !important;
  background: rgba(25, 107, 216, 0.07) !important;
  border-radius: 0px !important;
}
#myhome-listing .mh-filters__right button:hover {
  border-color: var(--vph-blue) !important;
  color: var(--vph-blue) !important;
}

/* Contador resultados */
#myhome-listing .mh-search__results-wrapper {
  padding: 12px 20px 4px !important;
}
#myhome-listing .mh-search__results {
  font-size: 13px !important;
  color: #888 !important;
  list-style: none !important;
  font-weight: 500 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ══════════════════════════════════════════════
   TIPO DE LISTADO: lista oculta por defecto
   ══════════════════════════════════════════════ */

#ml-listing_pages {
  display: none;
}

/* ══════════════════════════════════════════════
   MODO CUADRÍCULA (.mh-estate-vertical)
   Referencia: imagen 1
   ══════════════════════════════════════════════ */

#myhome-listing .mh-grid.mh-listing-page {
  display: flex !important;
  flex-wrap: wrap !important;
  padding: 16px 8px !important;
  margin-bottom: 0 !important;
}

#myhome-listing .mh-grid__1of3 {
  width: 33.333% !important;
  padding: 8px !important;
  box-sizing: border-box !important;
}

/* Tarjeta vertical */
#myhome-listing article.mh-estate-vertical {
  background: #fff !important;
  border: 1px solid var(--vph-border) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  transition:
    box-shadow 0.22s,
    transform 0.22s !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.07) !important;
  position: relative !important;
}
#myhome-listing article.mh-estate-vertical:hover {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.13) !important;
  transform: translateY(-3px) !important;
}

/* Imagen */
#myhome-listing .mh-estate-vertical .mh-thumbnail {
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
  text-decoration: none !important;
}
#myhome-listing .mh-estate-vertical .mh-thumbnail__inner {
  display: block !important;
  height: 220px !important;
  overflow: hidden !important;
}
#myhome-listing .mh-estate-vertical .mh-thumbnail__inner img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
  display: block !important;
}
#myhome-listing article.mh-estate-vertical:hover .mh-thumbnail__inner img {
  transform: scale(1.05) !important;
}

/* Badge Venta/Alquiler — OCULTO (se muestra en contenido) */
#myhome-listing .mh-estate-vertical .mh-caption {
  display: none !important;
}

/* Badge Reservado — reset custom.css (rotate, width:400px) */
#myhome-listing .reservado-container {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  bottom: auto !important;
  left: auto !important;
  width: auto !important;
  background: #e74c3c !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  padding: 3px 10px !important;
  border-radius: 3px !important;
  z-index: 3 !important;
  transform: none !important;
  transform-origin: unset !important;
  overflow: visible !important;
}

#myhome-listing .mh-thumbnail__featured {
  display: none !important;
}
#myhome-listing .mh-estate-vertical__text {
  display: none !important;
}

/* Flechas foto */
#myhome-listing .anterior_foto,
#myhome-listing .siguiente_foto {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: rgba(0, 0, 0, 0.42) !important;
  color: #fff !important;
  padding: 8px 10px !important;
  cursor: pointer !important;
  z-index: 3 !important;
  border-radius: 3px !important;
  font-size: 15px !important;
  line-height: 1 !important;
  transition: background 0.15s !important;
}
#myhome-listing .anterior_foto {
  left: 6px !important;
}
#myhome-listing .siguiente_foto {
  right: 6px !important;
}
#myhome-listing .anterior_foto:hover,
#myhome-listing .siguiente_foto:hover {
  background: rgba(0, 0, 0, 0.68) !important;
}

/* Contenido tarjeta */
#myhome-listing .mh-estate-vertical__content {
  padding: 18px 18px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  height: auto !important; /* reset custom.css height:174px */
}

/* Título — reset custom.css height:60px */
#myhome-listing .mh-estate-vertical__heading {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 0 6px !important;
  line-height: 1.3 !important;
  height: auto !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
#myhome-listing .mh-estate-vertical__heading a {
  color: inherit !important;
  text-decoration: none !important;
}

/* Descripción corta (bajo el título) */
#myhome-listing #mh-listing_pages .mh-estate-vertical__content > p,
#myhome-listing #mh-listing_pages .mh-estate-vertical__excerpt {
  font-size: 13px !important;
  color: #666 !important;
  line-height: 1.5 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin: 0 0 12px !important;
}

/* Dirección */
#myhome-listing .mh-estate-vertical__subheading {
  font-size: 12px !important;
  color: #999 !important;
  margin: 0 0 10px !important;
  font-style: normal !important;
}

/* Iconos hab/baños/m² — layout "columna" como en la referencia */
/* Reset custom.css: height:50px, float:left, span.poo margin-right */
#myhome-listing .mh-minor-details {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  height: auto !important;
  margin-bottom: 12px !important;
  align-items: flex-start !important;
}

#myhome-listing .mh-minor-details .poo {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
  margin-right: 18px !important;
  margin-bottom: 4px !important;
  font-size: 13px !important;
  color: #333 !important;
  float: none !important; /* reset custom.css float:left */
}

#myhome-listing .mh-minor-details .poo img {
  width: 20px !important;
  height: 20px !important;
  opacity: 0.55 !important;
  display: block !important;
}

/* Bloque precio — reset custom.css position:absolute */
#myhome-listing .bloque_precio {
  position: static !important;
  bottom: auto !important;
  left: auto !important;
  margin-top: 6px !important;
}

/* Color precio — sobreescribe custom.css color:#D1060D con azul VPH */
#myhome-listing .bloque_precio span,
#myhome-listing .bloque_precio span[style],
#myhome-listing .mh-estate-vertical__primary span[style*="color"],
#myhome-listing .mh-estate-vertical__primary span[style*="color: #D1060D"],
#myhome-listing .mh-estate-vertical__primary span[style*="color:#D1060D"] {
  float: none !important;
  margin: 0 !important;
  font-size: 1.3rem !important;
  font-weight: 400 !important;
}

/* Ref: pequeño y gris */
/* Ocultar Ref. en tarjeta grid */
#myhome-listing #mh-listing_pages .mh-estate-vertical__primary p,
#myhome-listing #mh-listing_pages .mh-estate-vertical__primary br {
  display: none !important;
}
#myhome-listing .mh-estate-vertical__primary span[style*="float:left"],
#myhome-listing .mh-estate-vertical__primary span[style*="float: left"] {
  display: none !important;
}

/* Color primary: reset custom.css #333 */
#myhome-listing .mh-estate-vertical__primary {
  color: var(--vph-blue) !important;
}

/* Botón Detalles: oculto en tarjeta grid (la imagen entera es clickable) */
#myhome-listing #mh-listing_pages .mh-estate-vertical__bottom {
  display: none !important;
}

/* ══════════════════════════════════════════════
   MODO LISTA (.mh-estate-horizontal)
   Referencia: imagen 2
   ══════════════════════════════════════════════ */

/* Contenedor lista */
#ml-listing_pages .mh-grid.mh-listing-page {
  padding: 16px !important;
}
#ml-listing_pages .mh-grid__1of1 {
  padding: 0 !important;
}
#ml-listing_pages .mh-grid__1of1 > div {
  padding: 0 !important;
}
#ml-listing_pages .mh-grid__1of1 > div > .mh-grid__1of1 {
  padding: 0 0 16px !important;
}

/* Tarjeta horizontal */
#myhome-listing article.mh-estate-horizontal {
  background: #fff !important;
  border: 1px solid var(--vph-border) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  transition: box-shadow 0.2s !important;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.07) !important;
}
#myhome-listing article.mh-estate-horizontal:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.11) !important;
}

#myhome-listing .mh-estate-horizontal__inner {
  display: flex !important;
  align-items: stretch !important;
}

/* Imagen lista */
#myhome-listing .mh-estate-horizontal__left {
  flex: 0 0 320px !important;
  position: relative !important;
  overflow: hidden !important;
}
#myhome-listing .mh-estate-horizontal__left .mh-thumbnail {
  display: block !important;
  height: 100% !important;
}
#myhome-listing .mh-estate-horizontal__left .mh-thumbnail__inner {
  height: 100% !important;
  min-height: 220px !important;
  overflow: hidden !important;
}
#myhome-listing .mh-estate-horizontal__left .mh-thumbnail__inner img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s !important;
  display: block !important;
}
#myhome-listing article.mh-estate-horizontal:hover .mh-thumbnail__inner img {
  transform: scale(1.04) !important;
}

/* Área de texto derecha */
#myhome-listing .mh-estate-horizontal__right {
  flex: 1 !important;
  padding: 22px 24px 20px !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Título */
#myhome-listing .mh-estate-horizontal__heading {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 0 8px !important;
  line-height: 1.3 !important;
}
#myhome-listing .mh-estate-horizontal__heading a {
  color: inherit !important;
  text-decoration: none !important;
}

/* Dirección */
#myhome-listing .mh-estate-horizontal__subheading {
  font-size: 12px !important;
  color: #999 !important;
  font-style: normal !important;
  margin: 0 0 10px !important;
}

/* Descripción */
#myhome-listing .mh-estate-horizontal__excerpt {
  font-size: 13px !important;
  color: #555 !important;
  line-height: 1.55 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin: 0 0 14px !important;
  width: 75%;
  margin-top: -50px !important;
}

/* Iconos detalles en lista */
#ml-listing_pages .mh-minor-details {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  height: auto !important;
  margin-bottom: 16px !important;
  align-items: flex-start !important;
}
#ml-listing_pages .mh-minor-details .poo {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
  margin-right: 24px !important;
  font-size: 13px !important;
  color: #333 !important;
  float: none !important;
}
#ml-listing_pages .mh-minor-details .poo img {
  width: 22px !important;
  height: 22px !important;
  opacity: 0.55 !important;
  display: block !important;
}

/* Zona precio + botón: al final, alineados */
#myhome-listing .mh-estate-horizontal__bottom {
  margin-top: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* Precio lista */
#myhome-listing .mh-estate-horizontal__primary {
  color: var(--vph-blue) !important; /* reset custom.css #333 */
}
#myhome-listing .mh-estate-horizontal__primary p {
  margin: 0 !important;
}
#myhome-listing .mh-estate-horizontal__primary span[style*="color"],
#myhome-listing .mh-estate-horizontal__primary span[style*="color: #D1060D"],
#myhome-listing .mh-estate-horizontal__primary span[style*="color:#D1060D"] {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--vph-blue) !important;
  float: none !important;
  margin: 0 !important;
}
/* Ocultar Ref. en vista lista */
#myhome-listing .mh-estate-horizontal__primary span[style*="float:left"],
#myhome-listing .mh-estate-horizontal__primary span[style*="float: left"] {
  display: none !important;
}
#ml-listing_pages .mh-estate-horizontal__primary p,
#ml-listing_pages .mh-estate-horizontal__primary br {
  display: none !important;
}

/* Bloque precio lista */
#ml-listing_pages .bloque_precio {
  position: static !important;
  bottom: auto !important;
  left: auto !important;
  margin-top: 4px !important;
}

/* Botón Detalles lista */
#myhome-listing .mh-estate-horizontal__buttons a.mdl-button--primary-ghost {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  background: transparent !important;
  border: 2px solid var(--vph-blue) !important;
  color: var(--vph-blue) !important;
  border-radius: 5px !important;
  padding: 7px 18px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  text-decoration: none !important;
  transition: all 0.18s !important;
  white-space: nowrap !important;
}
#myhome-listing
  .mh-estate-horizontal__buttons
  a.mdl-button--primary-ghost:hover {
  background: var(--vph-blue) !important;
  color: #fff !important;
}

/* ══════════════════════════════════════════════
   PAGINACIÓN
   ══════════════════════════════════════════════ */

#myhome-listing .mh-search__more {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 28px 20px !important;
    flex-wrap: wrap !important;
}
.vph-page-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 38px !important;
    height: 38px !important;
    padding: 0 10px !important;
    border: 1px solid var(--vph-border) !important;
    background: #fff !important;
    color: #444 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.15s !important;
    cursor: pointer !important;
}

.vph-page-btn:hover {
    border-color: var(--vph-blue) !important;
    color: var(--vph-blue) !important;
    background: rgba(25, 107, 216, 0.05) !important;
}

.vph-page-btn--active {
    background: var(--vph-blue) !important;
    border-color: var(--vph-blue) !important;
    color: #fff !important;
    cursor: default !important;
}

.vph-page-btn--disabled {
    color: #ccc !important;
    border-color: #eee !important;
    background: #fafafa !important;
    cursor: default !important;
    pointer-events: none !important;
}

/* Desktop: ocultar móvil */
.vph-pag-movil {
    display: none !important;
}

/* Móvil: ocultar desktop, mostrar ventana deslizante */
@media (max-width: 767px) {
    .vph-pag-desktop {
        display: none !important;
    }
    .vph-pag-movil {
        display: inline-flex !important;
    }
}

.vph-page-btn--dots {
    border: none !important;
    background: transparent !important;
    cursor: default !important;
    color: #aaa !important;
    pointer-events: none !important;
}

/* ══════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════ */

@media (max-width: 767px) {
  /* Buscador: columna */
  #myhome-search-form form {
    display: flex !important;
    flex-direction: column !important;
    position: static !important;
  }
  #myhome-search-form #buscador_inmuebles {
    padding-right: 0 !important;
    width: 100% !important;
  }
  #myhome-search-form .mh-search__element {
    max-width: 100% !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    border-right: none !important;
    border-bottom: 1px solid var(--vph-border) !important;
  }
  #myhome-search-form .mh-search__buttons {
    position: static !important;
    width: 100% !important;
    border-left: none !important;
    border-top: 1px solid var(--vph-border) !important;
    min-height: 52px !important;
  }
  #myhome-search-form #advance_btn {
    flex: 0 0 52px !important;
    border-right: 1px solid var(--vph-border) !important;
  }
  #myhome-search-form button[type="submit"].mdl-button--clear {
    flex: 1 !important;
    min-height: 52px !important;
  }

  /* Listado */
  #myhome-listing .mh-grid__1of3 {
    width: 100% !important;
  }
  #myhome-listing .mh-estate-horizontal__inner {
    flex-direction: column !important;
  }
  #myhome-listing .mh-estate-horizontal__left {
    flex: none !important;
    width: 100% !important;
  }
  #myhome-listing .mh-estate-horizontal__left .mh-thumbnail__inner {
    height: 210px !important;
    min-height: unset !important;
  }
  #myhome-listing .mh-filters {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  #myhome-search-form #buscador_inmuebles {
    padding-right: 160px !important;
  }
  #myhome-search-form .mh-search__element {
    flex: 1 1 calc(50% - 2px) !important;
    max-width: 50% !important;
    width: auto !important;
  }
  #myhome-listing .mh-grid__1of3 {
    width: 50% !important;
  }
  #myhome-listing .mh-estate-horizontal__left {
    flex: 0 0 240px !important;
  }
}

/* ══════════════════════════════════════════════
   FIX: Vista lista - asegurar visibilidad
   ══════════════════════════════════════════════ */

#ml-listing_pages .mh-grid.mh-listing-page {
  display: block !important;
  padding: 16px !important;
}

#ml-listing_pages .mh-grid__1of1 {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

#ml-listing_pages .mh-grid__1of1 > div {
  display: block !important;
}

#ml-listing_pages .mh-grid__1of1 > div > .mh-grid__1of1 {
  padding: 0 0 16px !important;
  display: block !important;
  width: 100% !important;
}

#ml-listing_pages article.mh-estate-horizontal {
  display: block !important;
}

/* Caption (badge) en vista lista: también oculto */
#ml-listing_pages .mh-caption {
  display: none !important;
}

/* ══════════════════════════════════════════════
   PRECIO CON OPERACIÓN (En Venta / En Alquiler)
   ══════════════════════════════════════════════ */

/* Label "En Venta" / "En Alquiler" */
.vph-operacion-label {
  display: block !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #555 !important;
  text-transform: none !important;
  margin-bottom: 2px !important;
  letter-spacing: 0 !important;
}

/* Precio azul debajo */
.vph-precio {
  display: block !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: var(--vph-blue) !important;
  line-height: 1.2 !important;
}

/* En vista lista: precio a la derecha, alineado arriba */
#ml-listing_pages .mh-estate-horizontal__primary {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: center !important;
  text-align: right !important;
  min-width: 160px !important;
  padding-left: 24px !important;
}

#ml-listing_pages .mh-estate-horizontal__primary .vph-operacion-label {
  text-align: right !important;
}

#ml-listing_pages .mh-estate-horizontal__primary .vph-precio {
  font-size: 22px !important;
  text-align: right !important;
}

/* En vista grid: precio en el bloque inferior */
#mh-listing_pages .bloque_precio {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  margin-top: 8px !important;
}

#mh-listing_pages .bloque_precio .vph-precio {
  font-size: 2.2rem !important;
}

#myhome-listing .bloque_precio .vph-operacion-label,
#ml-listing_pages .mh-estate-horizontal__primary .vph-operacion-label {
  color: #222 !important;
  font-weight: 600 !important;
}

/* HOVER FOTO — overlay azul + "Ver Propiedad" */

#myhome-listing .mh-thumbnail::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    to top,
    rgba(1, 107, 173, 0.75) 0%,
    rgba(1, 107, 173, 0.55) 100%
  ) !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

#myhome-listing .mh-thumbnail::after {
  content: "Ver Propiedad" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) translateY(8px) !important;
  border: 2px solid rgba(255, 255, 255, 0.9) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  padding: 10px 24px !important;
  opacity: 0 !important;
  transition:
    opacity 0.3s ease,
    transform 0.3s ease !important;
  z-index: 3 !important;
  pointer-events: none !important;
}

#myhome-listing article:hover .mh-thumbnail::before {
  opacity: 1 !important;
}

#myhome-listing article:hover .mh-thumbnail::after {
  opacity: 1 !important;
  transform: translate(-50%, -50%) translateY(0) !important;
}

/* Arreglos BUSCADOR posicionado ligeramente por encima del nav */

.vph-page-header {
  background: url("/images/imagen_nav_percent.jpeg") center top / cover
    no-repeat !important;
  padding: 100px 40px 40px;
  text-align: center;
  border-bottom: 3px solid var(--vph-accent, #d4e84a);
}

#myhome-search-form,
#bloque_buscador {
  margin-top: -33px !important;
}

/* Logo ubicabo en search-form-top encima del form buscador */

.vph-page-header {
  background: url("/images/imagen_nav_percent.jpeg") center top / cover
    no-repeat !important;
  padding: 50px 40px 40px;
  text-align: center;
  border-bottom: 3px solid var(--vph-accent, #d4e84a);
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}


.encontrados-bub {
  font-size:2rem;
  font-weight:500;
}

/* ── MÓVIL: barra filtros compacta ── */
@media (max-width: 767px) {

    /* Ocultar barra completa en móvil */
    #myhome-listing .mh-filters {
        display: none !important;
    }

    /* Mostrar barra compacta bajo el contador */
    #myhome-listing .mh-search__results-wrapper {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 12px 16px !important;
        border-bottom: 1px solid var(--vph-border) !important;
    }

    #myhome-listing .vph-movil-orden {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }

    #myhome-listing .vph-movil-orden select {
        border: 1px solid var(--vph-border) !important;
        border-radius: 4px !important;
        padding: 6px 10px !important;
        font-size: 13px !important;
        color: var(--vph-text) !important;
        background: #fff !important;
        cursor: pointer !important;
    }

    /* Ocultar botones tipo listado en móvil */
    #myhome-listing .mh-filters__right {
        display: none !important;
    }
}

/* En desktop: ocultar el select móvil */
.vph-movil-orden {
    display: none !important;
}