/* === Advanced Product Search (Icon) === */
.aps-search-widget{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;

  /* Variables (puedes cambiarlas por data-attrs) */
  --aps-primary: #005f9d;         /* normal (submit, resaltes) */
  --aps-primary-hover: #00b5e8;   /* hover */
  --aps-lens-bg: #252424;         /* fondo de la lupa */
  --aps-text-on-primary: #ffffff;

  --aps-input-bg: #ffffff;
  --aps-input-text: #111;
  --aps-input-border: #005f9d33;  /* sutil azul */
  --aps-shadow: 0 10px 30px rgba(0,0,0,.18);
}

/* Botón lupa */
.aps-search-widget .aps-toggle{
  appearance: none; border: 0; cursor: pointer;
  background: var(--aps-lens-bg);
  border-radius: 999px;
  width: 42px; height: 42px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--aps-text-on-primary);
  box-shadow: var(--aps-shadow);
  transition: transform .12s ease, filter .12s ease;
}
.aps-search-widget .aps-toggle:hover{ transform: translateY(-1px); filter: brightness(1.08); }
.aps-search-widget .aps-toggle i{ font-size: 16px; }

/* Contenedor del formulario */
.aps-search-widget .aps-form{
  position: absolute;
  top: 50%; transform: translateY(-50%);
  display: flex; align-items: center; gap: 8px;
  background: var(--aps-input-bg);
  border: 1px solid var(--aps-input-border);
  padding: 2px;
  box-shadow: var(--aps-shadow);
  opacity: 0; pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
  width: 300px;
}
.aps-search-widget.aps-pos-right .aps-form{ right: 50px; }
.aps-search-widget.aps-pos-left  .aps-form{ left:  50px;  }

/* Modo overlay (flotante) */
.aps-search-widget.aps-mode-overlay .aps-form{
  position: fixed;
  left: var(--aps-float-left, auto);
  top:  var(--aps-float-top,  auto);
  transform: none;
  z-index: 9999;
}

/* Visible */
.aps-search-widget.is-open .aps-form{ opacity: 1; pointer-events: auto; }

/* Input */
.aps-input{
  width: clamp(260px, 42vw, 620px);
  max-width: 80vw;
  outline: none; border: 0;
  background: transparent;
  color: var(--aps-input-text);
  font-size: 15px;
}
.aps-input::placeholder{ color:#6b7280; }

/* Submit */
.aps-submit{
  appearance: none; border: 0; cursor: pointer;
  width: 38px; height: 38px; border-radius: 999px;
  display: inline-flex; align-items:center; justify-content:center;
  background: var(--aps-primary);
  color: var(--aps-text-on-primary);
  transition: background .15s ease, transform .12s ease;
}
.aps-submit:hover{ background: var(--aps-primary-hover); transform: translateY(-1px); }
.aps-submit i{ font-size: 14px; }

/* Sugerencias */
.aps-suggestions{
  position: absolute;
  left: 12px; right: 12px; top: calc(100% + 8px);
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  box-shadow: 0 16px 40px rgba(0,0,0,.15);
  max-height: 60vh; overflow: auto;
  display: none;
}
.aps-suggestions.is-visible{ display: block; }

.aps-suggestion{
  display: grid;
  grid-template-columns: 44px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  text-decoration: none;
  color: #111;
  border-bottom: 1px solid #f2f4f7;
}
.aps-suggestion:last-child{ border-bottom: 0; }

.aps-suggestion:hover,
.aps-suggestion.is-active{
  background: #f7fbff;
  outline: 1px solid var(--aps-primary);
}

.aps-suggestion img{
  width: 44px; height: 44px; object-fit: cover; border-radius: 6px; background:#f2f2f2;
}
.aps-suggestion .aps-sg-title{ font-size: 14px; line-height: 1.2; }
.aps-suggestion .aps-sg-price{ font-size: 13px; color: var(--aps-primary); }

/* utilidades */
.aps-sr-only{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

@media (max-width: 480px){
  .aps-input{ width: clamp(200px, 70vw, 360px); }
}
