/* ═══════════════════════════════════════════════════════════════
   TeamHost Home/Listing Overrides — Habitat Catalunya

   Estilos para la página Home: buscador ([BAmbos]) + listado ([LAmbos]).
   Carga DESPUÉS de teamhost-universal.css, solo en page-home.php.

   CAPAS:
   1. Buscador (search wrapper, form controls, multiselect, submit)
   2. Listado filters bar (count + sort)
   3. Property cards (image, body, price, info, ref)
   4. Tags (Reservado, Venta, Alquiler, Oferta, heart)
   5. Paginación
   6. Responsive

   REGLAS:
   - No `.col-*` global — solo dentro de .teamhost-buscador o .teamhost-listado
   - Anti-BS3 float: neutralizar SOLO dentro de scopes concretos
   ═══════════════════════════════════════════════════════════════ */


/* ══════════════════════════════════════════════════════════════
   1. BUSCADOR (shortcode BAmbos)
   ══════════════════════════════════════════════════════════════ */

/* ── Search wrapper ──────────────────────────────────────── */
.teamhost-buscador .search-wrapper2 {
  background: var(--hc-bg-card);
  border-radius: var(--hc-radius-card);
  padding: 24px 28px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
  border: none;
  overflow: hidden;
}

.teamhost-buscador .search2 {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
}

/* ── Buscador row alignment — all controls same baseline ── */
.teamhost-buscador .search-wrapper2 .contenedor > .row {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center !important;
  gap: 0;
}

.teamhost-buscador .search-wrapper2 .contenedor > .row > [class*="col-"] {
  float: none !important;
}

.teamhost-buscador .search-wrapper2 .add-style {
  margin-bottom: 0 !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

/* ── Chevron toggle — JS-injected .morelinkDescription ───── */

/* The .morecontent wrapper that JS creates */
.teamhost-buscador .moreHorizontal .morecontent {
  position: relative !important;
  display: block !important;
  text-align: center !important;
}

/* The chevron link itself — override scoped CSS float:right + margin-top:-47px */
.teamhost-buscador .moreHorizontal .morelinkDescription {
  float: none !important;
  position: relative !important;
  margin-top: 8px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  left: auto !important;
  width: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--hc-primary) !important;
  color: #fff !important;
  border-radius: 50% !important;
  font-size: 18px !important;
  transition: background var(--hc-transition), transform var(--hc-transition) !important;
  text-decoration: none !important;
}

.teamhost-buscador .moreHorizontal .morelinkDescription:hover {
  background: var(--hc-primary-dark) !important;
  transform: translateY(2px);
}

/* Icon inside chevron — white */
.teamhost-buscador .moreHorizontal .morelinkDescription .fa-chevron-down,
.teamhost-buscador .moreHorizontal .morelinkDescription .fa-chevron-up {
  color: #fff !important;
  font-size: 16px !important;
}

/* Hide the moreellipses spacer that JS injects */
.teamhost-buscador .moreHorizontal .moreellipses {
  display: none !important;
}

/* ── Form controls (selects, inputs) ─────────────────────── */
.teamhost-buscador .form-control,
.teamhost-buscador .form-control2 {
  font-family: var(--hc-font) !important;
  font-size: 14px !important;
  font-weight: 500;
  color: var(--hc-text) !important;
  border: 1px solid var(--hc-border) !important;
  border-radius: var(--hc-radius-input) !important;
  padding: 10px 14px !important;
  height: 44px !important;
  background-color: #fff !important;
  transition: border-color var(--hc-transition);
  box-shadow: none !important;
}

.teamhost-buscador .form-control:focus,
.teamhost-buscador .form-control2:focus {
  border-color: var(--hc-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(36, 85, 157, 0.1) !important;
}

/* ── Multiselect buttons (bootstrap-multiselect) ─────────── */
.teamhost-buscador .multiselect.dropdown-toggle {
  font-family: var(--hc-font) !important;
  font-size: 14px !important;
  font-weight: 500;
  color: var(--hc-text) !important;
  border: 1px solid var(--hc-border) !important;
  border-radius: var(--hc-radius-input) !important;
  padding: 10px 14px !important;
  background: #fff !important;
  text-align: left;
  height: 44px !important;
}

.teamhost-buscador .multiselect.dropdown-toggle:hover,
.teamhost-buscador .multiselect.dropdown-toggle:focus {
  border-color: var(--hc-primary) !important;
  background: #fff !important;
}

/* ── Multiselect dropdown menu ───────────────────────────── */
.teamhost-buscador .multiselect-container {
  border-radius: var(--hc-radius-input) !important;
  border: 1px solid var(--hc-border) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
  padding: 4px !important;
}

.teamhost-buscador .multiselect-container > li > a {
  padding: 8px 12px !important;
  font-size: 13px !important;
  border-radius: 4px !important;
}

.teamhost-buscador .multiselect-container > li > a:hover {
  background: rgba(36, 85, 157, 0.06) !important;
}

/* ── Price inputs ────────────────────────────────────────── */
.teamhost-buscador .form-precio {
  text-align: center;
}

.teamhost-buscador .form-ref {
  font-size: 14px !important;
}

/* ── Search/submit button ────────────────────────────────── */
.teamhost-buscador .submit-search-home {
  font-family: var(--hc-font) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  background: var(--hc-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--hc-radius-full) !important;
  padding: 0 20px !important;
  height: 44px !important;
  cursor: pointer !important;
  transition: background var(--hc-transition), transform var(--hc-transition) !important;
  width: 100%;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

.teamhost-buscador .submit-search-home:hover {
  background: var(--hc-primary-dark) !important;
  transform: translateY(-1px);
}

/* ── Advanced search toggle area ────────────────────────── */
.teamhost-buscador .moreDescription {
  border-top: 1px solid var(--hc-border);
  margin-top: 8px;
  padding-top: 8px;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  text-align: center !important;
}

/* Kill extra padding below search wrapper when collapsed */
.teamhost-buscador .moreDescription.moreHorizontal {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.teamhost-buscador .moreDescription .row {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* The span-morecontent where expanded filters live */
.teamhost-buscador .moreHorizontal .span-morecontent {
  margin: 8px 0 0 0 !important;
  padding: 12px 8px !important;
  background: #fff !important;
  border-radius: var(--hc-radius-input) !important;
  text-align: left !important;
}

/* ── Radio buttons (Venta/Alquiler) ──────────────────────── */
.teamhost-buscador input[type="radio"] {
  accent-color: var(--hc-primary);
}

/* ── "Más filtros" chevron ───────────────────────────────── */
.teamhost-buscador .moreHorizontal .col-md-12.mb-2 {
  font-size: 14px;
  font-weight: 500;
  color: var(--hc-text);
}

/* ── Expanded filters area ────────────────────────────────── */

/* Radio buttons (Venta / Alquiler) — align right, clean spacing */
.teamhost-buscador .moreHorizontal > .row:first-child > .col-md-12.mb-2 {
  text-align: right !important;
  padding: 8px 0 12px !important;
  font-family: var(--hc-font) !important;
  font-size: 14px !important;
  color: var(--hc-text) !important;
}

.teamhost-buscador .moreHorizontal input[type="radio"] {
  accent-color: var(--hc-primary);
  margin-right: 4px;
  vertical-align: middle;
}

/* Advanced filter selects — consistent with top row */
.teamhost-buscador .moreHorizontal .form-control,
.teamhost-buscador .moreHorizontal .form-control-fancy {
  font-family: var(--hc-font) !important;
  font-size: 14px !important;
  font-weight: 500;
  color: var(--hc-text) !important;
  border: 1px solid var(--hc-border) !important;
  border-radius: var(--hc-radius-input) !important;
  padding: 10px 14px !important;
  height: 44px !important;
  background-color: #fff !important;
  box-shadow: none !important;
  width: 100% !important;
}

/* Advanced filter rows — flex layout */
.teamhost-buscador .moreHorizontal > .row.mb-2 {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0;
  margin-bottom: 4px !important;
}

.teamhost-buscador .moreHorizontal .add-style {
  margin-bottom: 4px !important;
  padding-top: 2px !important;
  padding-bottom: 2px !important;
}

/* m2 inputs */
.teamhost-buscador .moreHorizontal .form-control2 {
  font-family: var(--hc-font) !important;
  font-size: 14px !important;
  border: 1px solid var(--hc-border) !important;
  border-radius: var(--hc-radius-input) !important;
  padding: 10px 14px !important;
  height: 44px !important;
  background-color: #fff !important;
  box-shadow: none !important;
}

/* Amenity checkbox rows — compact grid (4 rows × 6 cols) */
.teamhost-buscador .moreHorizontal > .row.mb-2.nopadding-nomargin-lados:nth-child(n+2) {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

/* Each checkbox cell — real selector is .col-md-2.col-sm-12.col-xs-12 */
.teamhost-buscador .moreHorizontal .col-md-2.col-sm-12.col-xs-12 {
  padding: 2px 4px !important;
  margin-bottom: 0 !important;
}

.teamhost-buscador .moreHorizontal .opciones-avanzadas {
  font-family: var(--hc-font) !important;
  font-size: 13px !important;
  color: var(--hc-text) !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px;
  padding: 4px 0 !important;
  white-space: nowrap;
}

.teamhost-buscador .moreHorizontal .opciones-avanzadas label {
  display: none !important;
}

.teamhost-buscador .moreHorizontal input[type="checkbox"] {
  accent-color: var(--hc-primary);
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin: 0 !important;
}

.teamhost-buscador .moreHorizontal .opciones-avanzadas span {
  font-size: 13px;
  color: var(--hc-text);
  line-height: 1.2;
}

/* Nopadding/nomargin helpers — fix sub-columns */
.teamhost-buscador .nopadding-nomargin-lados {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.teamhost-buscador .nopadding-nomargin-lados > .col-md-6 {
  padding: 0 4px !important;
}


/* ══════════════════════════════════════════════════════════════
   2. LISTADO — Filters bar (count + sort)
   ══════════════════════════════════════════════════════════════ */
.teamhost-listado .filters-wrapper-plugin {
  font-family: var(--hc-font) !important;
  padding: 16px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* White text on blue background */
.teamhost-listado .text-numpropiedades-listado {
  font-weight: 700 !important;
  font-size: 18px !important;
  color: #fff !important;
  font-style: italic;
}

.teamhost-listado .order {
  font-size: 14px !important;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8);
  margin-right: 8px;
}

/* Filters bar with sort — flex with gap */
.teamhost-listado .filters-wrapper-plugin.filters-listado {
  display: flex !important;
  align-items: center !important;
  gap: 10px;
}

.teamhost-listado .select-filtros {
  font-family: var(--hc-font) !important;
  font-size: 13px !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  border-radius: var(--hc-radius-input) !important;
  padding: 6px 10px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #fff !important;
  cursor: pointer;
}

.teamhost-listado .select-filtros option {
  background: #fff;
  color: var(--hc-text);
}


/* ══════════════════════════════════════════════════════════════
   3. PROPERTY CARDS
   ══════════════════════════════════════════════════════════════ */

/* ── Card wrapper ────────────────────────────────────────── */
.teamhost-listado .property-item-amaze.listing {
  background: var(--hc-bg-card) !important;
  border-radius: var(--hc-radius-card) !important;
  overflow: hidden;
  box-shadow: var(--hc-shadow-card) !important;
  transition: box-shadow var(--hc-transition), transform var(--hc-transition) !important;
  border: none !important;
  margin-bottom: 24px !important;
  position: relative;
}

.teamhost-listado .property-item-amaze.listing:hover {
  box-shadow: var(--hc-shadow-card-hover) !important;
  transform: translateY(-4px);
}

/* Clear Bootstrap .row negative margins inside card */
.teamhost-listado .property-item-amaze > .row {
  margin: 0 !important;
}

/* ── Card image — consistent aspect ratio ────────────────── */
.teamhost-listado .property-item-amaze .thumb {
  display: block;
  overflow: hidden;
  position: relative;
}

.teamhost-listado .property-item-amaze .thumb figure {
  margin: 0;
  overflow: hidden;
  aspect-ratio: var(--hc-img-ratio);
}

.teamhost-listado .property-item-amaze img.imagen {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  aspect-ratio: var(--hc-img-ratio);
  transition: transform 0.4s ease !important;
}

.teamhost-listado .property-item-amaze:hover img.imagen {
  transform: scale(1.05);
}

/* ── Card body — FLEX COLUMN forces vertical stacking ────── */
/*
 * CRITICAL: Using flex-direction:column instead of fighting
 * Bootstrap floats individually. This makes ALL children stack
 * vertically regardless of BS3's float:left / width:100% rules.
 */
.teamhost-listado .info-plus-amaze,
.teamhost-listado .info-plus-amaze.listing {
  position: relative !important;
  padding: 14px 18px 14px !important;
  background: var(--hc-bg-card) !important;
  text-align: left !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* Kill Bootstrap float/width inside card body */
.teamhost-listado .info-plus-amaze .row {
  float: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  display: block !important;
}

.teamhost-listado .info-plus-amaze [class*="col-"] {
  float: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  position: static !important;
  display: block !important;
}

.teamhost-listado .info-plus-amaze header {
  margin-bottom: 4px !important;
  padding: 0 !important;
  background: transparent !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px;
  width: 100% !important;
  order: 1 !important;
  min-height: 0 !important;
  height: auto !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  z-index: 1 !important;
}

.teamhost-listado .info-plus-amaze header::after {
  content: "";
  display: block;
  clear: both;
}

/* Enforce row flow in header to avoid type/location collapsing into price */
.teamhost-listado .info-plus-amaze header > .row {
  float: none !important;
  clear: both !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.teamhost-listado .info-plus-amaze header > .row > [class*="col-"] {
  float: none !important;
  clear: both !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── 1. Property type — "Casa", "Piso" (bold) ───────────── */
.teamhost-listado .info-plus-amaze .type {
  font-family: var(--hc-font) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--hc-text) !important;
  margin: 0 0 1px 0 !important;
  line-height: 1.3 !important;
  height: auto !important;
  text-align: left !important;
  display: block !important;
  position: static !important;
  width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* ── 2. Location — "📍 Sant Esteve Sesrovires" (lighter) ── */
.teamhost-listado .info-plus-amaze header .row + .row {
  max-width: 100% !important;
  overflow: hidden !important;
}

.teamhost-listado .info-plus-amaze header .row + .row .col-md-12 {
  max-width: 100% !important;
  overflow: hidden !important;
}

.teamhost-listado .info-plus-amaze header .row + .row .type {
  font-weight: 500 !important;
  font-size: 13px !important;
  color: var(--hc-text-light) !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  max-width: 100% !important;
}

.teamhost-listado .info-plus-amaze .type .fa-map-marker {
  color: var(--hc-accent) !important;
  font-size: 13px !important;
  margin-right: 3px;
}

/* ── 3. Price — "295.000€" (large, bold, clear block) ──── */
/* Note: .grid-precio-amaze is a DIRECT child of .info-plus-amaze
   with classes col-md-12 col-sm-12 col-xs-12 (no .row wrapper) */
.teamhost-listado .info-plus-amaze .grid-precio-amaze,
.teamhost-listado .info-plus-amaze.listing .grid-precio-amaze,
.teamhost-listado .info-plus-amaze.featured .grid-precio-amaze {
  background: transparent !important;
  padding: 6px 0 8px !important;
  border-top: none !important;
  margin-top: 0 !important;
  display: block !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
  position: static !important;
  flex-shrink: 0 !important;
  order: 2 !important;
}

.teamhost-listado .info-plus-amaze .precio-amaze,
.teamhost-listado .info-plus-amaze .precio-outlet-amaze,
.teamhost-listado .info-plus-amaze.listing .precio-amaze,
.teamhost-listado .info-plus-amaze.listing .precio-outlet-amaze {
  font-family: var(--hc-font) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--hc-text) !important;
  background: transparent !important;
  text-decoration: none !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  line-height: 1.2 !important;
  position: static !important;
  white-space: nowrap !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
}

.teamhost-listado .info-plus-amaze .precio-amaze:hover,
.teamhost-listado .info-plus-amaze .precio-outlet-amaze:hover {
  color: var(--hc-primary) !important;
  text-decoration: none !important;
}

/* ── 4. Property info (beds, baths, sqm) — HORIZONTAL ──── */
.teamhost-listado .prop-info-amaze,
.teamhost-listado .info-plus-amaze.listing .prop-info-amaze {
  padding: 10px 0 0 !important;
  border-top: 1px solid var(--hc-border-light) !important;
  margin-top: 4px !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 0;
  clear: both !important;
  width: 100% !important;
  float: none !important;
  order: 3 !important;
}

/* Force .row inside prop-info to be inline, not block */
.teamhost-listado .prop-info-amaze > .row {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 1 !important;
  min-width: 0;
  width: auto !important;
  float: none !important;
  clear: none !important;
}

.teamhost-listado .prop-info-amaze > .row > [class*="col-"] {
  width: auto !important;
  float: none !important;
  padding: 0 !important;
}

.teamhost-listado .info-property,
.teamhost-listado .info-plus-amaze.listing .info-property {
  font-size: 14px !important;
  color: var(--hc-text-muted) !important;
  padding: 0 !important;
  border-bottom: none !important;
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
}

/* ── Icons — normalized size, weight, alignment ──────────── */
.teamhost-listado .info-property .fa {
  color: var(--hc-icon-color) !important;
  font-size: var(--hc-icon-size) !important;
  width: 18px;
  text-align: center;
  line-height: 1;
}

.teamhost-listado .info-property .fa.fa-lg {
  font-size: var(--hc-icon-size) !important;
}

.teamhost-listado .info-property .right {
  font-weight: 600;
  font-size: 14px !important;
  color: var(--hc-text-muted) !important;
}

/* ── 5. Reference (REF. 01241) ───────────────────────────── */
.teamhost-listado .brokerage {
  padding: 6px 0 0 !important;
  border-top: 1px solid var(--hc-border-light) !important;
  margin-top: 6px !important;
  clear: both !important;
  float: none !important;
  width: auto !important;
  order: 4 !important;
  background: transparent !important;
}

/* Hard lock: ensure location line never overlaps the price block */
.teamhost-listado .info-plus-amaze.listing header .row:nth-child(2) .type {
  display: block !important;
  position: static !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.25 !important;
  min-height: 16px !important;
}

.teamhost-listado .brokerage p {
  margin: 0 !important;
}

.teamhost-listado .brokerage small {
  font-size: 11px !important;
  color: var(--hc-text-muted) !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 500;
}

/* ══════════════════════════════════════════════════════════════
   4. TAGS (Reservado, Venta, Alquiler, Oferta)
   ══════════════════════════════════════════════════════════════ */

/* ── Tag container positioning ───────────────────────────── */
.teamhost-listado .info-tags-estado,
.teamhost-listado .info-tipo,
.teamhost-listado .info-tags {
  z-index: 2;
  position: absolute;
}

/* "RESERVADO" — top-left (after heart) */
.teamhost-listado .info-tags-estado {
  top: 12px;
  left: 52px;
}

/* "VENTA" / "ALQUILER" — top-right */
.teamhost-listado .info-tipo {
  top: 12px;
  right: 12px;
}

/* Heart — top-left */
.teamhost-listado .info-favorite {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 3;
}

/* ── Base tag style ──────────────────────────────────────── */
.teamhost-listado .tags-listado span,
.teamhost-listado .tags-listado-oferta span {
  font-family: var(--hc-font) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  padding: 5px 12px !important;
  border-radius: var(--hc-radius-tag) !important;
  display: inline-block;
}

/* "Reservado" — red */
.teamhost-listado .tags-listado span {
  background: #dc2626 !important;
  color: #fff !important;
}

/* "Oferta" — accent orange */
.teamhost-listado .tags-listado-oferta span {
  background: var(--hc-accent) !important;
  color: #fff !important;
}

/* "Venta" / "Alquiler" type tags */
.teamhost-listado .tags-listado-tipo span {
  font-family: var(--hc-font) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  padding: 5px 12px !important;
  border-radius: var(--hc-radius-tag) !important;
  display: inline-block;
}

/* Venta = dark blue */
.teamhost-listado .info-tipo-text-1 {
  background: var(--hc-primary) !important;
  color: #fff !important;
}

/* Alquiler = dark (near-black for contrast) */
.teamhost-listado .info-tipo-text-2 {
  background: #1f2937 !important;
  color: #fff !important;
}

/* ── Favorite heart button ───────────────────────────────── */
.teamhost-listado .featured-mark-heart-inactive {
  background: rgba(255, 255, 255, 0.9) !important;
  border: none !important;
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer !important;
  transition: background var(--hc-transition) !important;
  padding: 0 !important;
}

.teamhost-listado .featured-mark-heart-inactive:hover {
  background: #fff !important;
}

.teamhost-listado .featured-mark-heart-inactive .fa-heart {
  color: var(--hc-text-light) !important;
  font-size: 16px !important;
  transition: color var(--hc-transition);
}

.teamhost-listado .featured-mark-heart-inactive:hover .fa-heart {
  color: #dc2626 !important;
}


/* ══════════════════════════════════════════════════════════════
   5. PAGINACIÓN
   ══════════════════════════════════════════════════════════════ */
/* La sección del catálogo en page-home.php tiene background azul (#24559D)
   = var(--hc-primary). Los botones de paginación tienen color azul también,
   así que sin background blanco quedan invisibles (texto azul sobre fondo
   azul). Ambos selectores cubren las dos estructuras posibles que el plugin
   pueda generar: con <li> wrapper o sin él. */
.teamhost-listado .pagination > li > a,
.teamhost-listado .pagination > li > span,
.teamhost-listado .pagination a,
.teamhost-listado .pagination span {
  font-family: var(--hc-font) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--hc-primary) !important;
  background: #fff !important;
  border: 1px solid var(--hc-border) !important;
  border-radius: var(--hc-radius-input) !important;
  padding: 8px 14px !important;
  margin: 0 3px !important;
  display: inline-block !important;
  text-decoration: none !important;
  transition: all var(--hc-transition);
}

.teamhost-listado .pagination > .active > a,
.teamhost-listado .pagination > .active > span,
.teamhost-listado .pagination .active a,
.teamhost-listado .pagination .active span {
  background: var(--hc-primary) !important;
  border-color: var(--hc-primary) !important;
  color: #fff !important;
}

.teamhost-listado .pagination > li > a:hover,
.teamhost-listado .pagination a:hover {
  background: rgba(36, 85, 157, 0.06) !important;
  border-color: var(--hc-primary) !important;
  color: var(--hc-primary) !important;
}


/* ══════════════════════════════════════════════════════════════
   6. RESPONSIVE
   ══════════════════════════════════════════════════════════════ */

/* ── Tablet ──────────────────────────────────────────────── */
@media (max-width: 768px) {
  .teamhost-buscador .search-wrapper2 {
    padding: 16px;
  }

  .teamhost-buscador .submit-search-home {
    padding: 14px 20px !important;
    font-size: 14px !important;
  }

  .teamhost-listado .info-plus-amaze,
  .teamhost-listado .info-plus-amaze.listing {
    padding: 14px 16px 14px !important;
    min-height: auto;
  }

  .teamhost-listado .text-numpropiedades-listado {
    font-size: 16px !important;
  }

  .teamhost-listado .info-plus-amaze .precio-amaze,
  .teamhost-listado .info-plus-amaze .precio-outlet-amaze {
    font-size: 20px !important;
  }
}

/* ── Mobile ──────────────────────────────────────────────── */
@media (max-width: 480px) {
  .teamhost-listado .info-plus-amaze .precio-amaze,
  .teamhost-listado .info-plus-amaze .precio-outlet-amaze {
    font-size: 18px !important;
  }

  .teamhost-listado .info-property .fa {
    font-size: 14px !important;
  }

  .teamhost-listado .info-property .right {
    font-size: 13px !important;
  }
}
