/* ==========================================================================
   Buscador con sugerencias en vivo (search.js)
   Se engancha a cualquier form[data-search] con un input[data-search-input]:
   el del header y el de la home ("Tienda de productos"). search.js agrega la
   lista debajo del form, que tiene que tener position: relative.
   ========================================================================== */

.search-results {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  left: 0;
  z-index: 40; /* debajo del header sticky (50) */
  max-height: min(70vh, 520px);
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--color-line-strong);
  background: var(--color-white);
  color: var(--color-ink);
  font-family: var(--font-sans);
  text-align: left;
  animation: fade-in 0.15s ease;
}

.search-results__status {
  margin: 0;
  padding: 16px 20px;
  color: var(--color-graphite);
  font-size: var(--fs-sm);
}

.search-results__list { margin: 0; padding: 0; list-style: none; }

.search-result { margin: 0; padding: 0; border-bottom: 1px solid var(--color-line); }
.search-result:last-child { border-bottom: 0; }

.search-result__link {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 10px 20px;
  color: var(--color-ink);
  text-decoration: none;
}
.search-result__link:hover,
.search-result.is-active .search-result__link { background: var(--color-cream); color: var(--color-ink); }

/* Mismo tratamiento que la card de producto: cuadrado gris con la imagen en multiply */
.search-result__media {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  background: var(--color-media);
}
.search-result__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.search-result__name {
  display: -webkit-box;
  overflow: hidden;
  font-size: var(--fs-sm);
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.search-result__price {
  display: grid;
  justify-items: end;
  font-size: var(--fs-sm);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.search-result__price del { color: var(--color-graphite); font-size: var(--fs-xs); font-weight: 400; }

/* Último ítem: "Ver todos los resultados" */
.search-result--all .search-result__link {
  display: flex;
  justify-content: space-between;
  padding-block: 14px;
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
}

@container site (max-width: 767px) {
  .search-result__link { grid-template-columns: 48px minmax(0, 1fr); gap: 12px; padding-inline: 14px; }
  .search-result__media { grid-row: span 2; width: 48px; height: 48px; }
  .search-result__price { grid-column: 2; justify-items: start; }
}
