/* v8.9.0 — Cuadrícula visual de resultados de búsqueda (escritorio + móvil). */

.mv-search-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: start;
}

@media (min-width: 1024px) {
  .mv-search-layout { grid-template-columns: 280px minmax(0, 1fr); }
  /* En escritorio los filtros están siempre visibles: nada oculto tras un botón. */
  .mv-search-layout .mv-filter-panel,
  .mv-search-layout .mv-filter-panel.is-collapsed {
    display: block !important;
    position: sticky;
    top: 90px;
    background: var(--mv-surface, #fff);
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 16px;
    padding: 1rem 1.1rem;
    box-shadow: 0 6px 24px -18px rgba(0, 0, 0, .45);
  }
  .mv-search-layout .mv-filter-toggle { display: none; }
}

.mv-search-layout .mv-filter-panel .mv-form-grid { display: grid; gap: .85rem; }
.mv-search-layout .mv-filter-panel .mv-form-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.mv-search-layout .mv-filter-field { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.mv-search-layout .mv-filter-field input,
.mv-search-layout .mv-filter-field select { width: 100%; min-width: 0; }

/* --- Chips de filtros activos --- */
.mv-active-filters { display: flex; flex-wrap: wrap; gap: .45rem; margin: .3rem 0 1rem; }
.mv-active-filters .mv-chip {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .3rem .65rem; border-radius: 999px;
  background: rgba(16, 122, 87, .1); color: #0d6b4d;
  font-size: .82rem; font-weight: 600; text-decoration: none;
}
.mv-active-filters .mv-chip:hover { background: rgba(16, 122, 87, .2); }

.mv-results-head {
  display: grid; grid-template-columns: minmax(0, 1fr) auto;
  align-items: center; gap: 1rem; margin-bottom: .9rem;
}
.mv-results-head p { margin: 0; }

/* --- Cuadrícula de tarjetas --- */
.mv-search-layout .mv-listings-grid,
.mv-listings-grid.mv-listings-grid--search {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}
@media (min-width: 640px) {
  .mv-search-layout .mv-listings-grid,
  .mv-listings-grid.mv-listings-grid--search { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
}
@media (min-width: 900px) {
  .mv-search-layout .mv-listings-grid,
  .mv-listings-grid.mv-listings-grid--search { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
  .mv-search-layout .mv-listings-grid,
  .mv-listings-grid.mv-listings-grid--search { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Tarjetas de altura uniforme, con imagen a proporción fija. */
.mv-search-layout .mv-card,
.mv-listings-grid--search .mv-card {
  display: flex; flex-direction: column; height: 100%; min-width: 0; overflow: hidden;
}
.mv-search-layout .mv-card-media,
.mv-listings-grid--search .mv-card-media {
  position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden;
}
.mv-search-layout .mv-card-media img,
.mv-listings-grid--search .mv-card-media img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.mv-search-layout .mv-card--logo-fallback .mv-card-media img,
.mv-listings-grid--search .mv-card--logo-fallback .mv-card-media img {
  object-fit: contain; padding: 12%; background: #f4f6f5;
}
.mv-search-layout .mv-card-body,
.mv-listings-grid--search .mv-card-body {
  display: flex; flex-direction: column; gap: .35rem; flex: 1 1 auto; padding: .75rem .85rem .9rem;
}
.mv-search-layout .mv-card-title,
.mv-listings-grid--search .mv-card-title {
  font-size: 1rem; line-height: 1.3; margin: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.mv-search-layout .mv-card-meta,
.mv-listings-grid--search .mv-card-meta {
  display: flex; flex-wrap: wrap; gap: .25rem .6rem; margin-top: auto;
  font-size: .78rem; color: #607068; min-width: 0;
}
.mv-search-layout .mv-card-meta span,
.mv-listings-grid--search .mv-card-meta span { max-width: 100%; overflow-wrap: anywhere; }

/* Paginación */
.mv-search-pagination { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; margin: 1.75rem 0 .5rem; }
.mv-search-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2.4rem; height: 2.4rem; padding: 0 .6rem;
  border: 1px solid rgba(0, 0, 0, .1); border-radius: 10px;
  text-decoration: none; font-weight: 600; font-size: .9rem;
}
.mv-search-pagination .page-numbers.current { background: #107a57; border-color: #107a57; color: #fff; }

/* Barra de búsqueda persistente */
.mv-search-pill-wrap { display: flex; flex-wrap: wrap; gap: .5rem; }
.mv-search-pill-wrap input[type="text"] { flex: 1 1 220px; min-width: 0; }
@media (max-width: 600px) {
  .mv-search-pill-wrap .mv-btn { flex: 1 1 auto; }
}

/* Etiquetas reales del anuncio dentro de la tarjeta */
.mv-card-tags { display: flex; flex-wrap: wrap; gap: .3rem; }
.mv-card-tags .mv-tag {
  font-size: .72rem; font-weight: 700; letter-spacing: .02em;
  padding: .15rem .5rem; border-radius: 999px;
  background: rgba(0, 0, 0, .06); color: #3b4a43;
}

/* Confirmación de responsabilidad del publicante */
.mv-responsibility-box {
  border: 1px solid rgba(214, 158, 46, .45);
  background: rgba(255, 248, 230, .85);
  border-radius: 12px; padding: .85rem 1rem; margin: .5rem 0 1rem;
}
.mv-responsibility-box label {
  display: grid; grid-template-columns: auto minmax(0, 1fr);
  gap: .6rem; align-items: start;
  font-size: .88rem; line-height: 1.45; font-weight: 500;
}
.mv-responsibility-box input[type="checkbox"] { margin-top: .2rem; width: 1.05rem; height: 1.05rem; }
.mv-responsibility-box a { font-weight: 700; }
