/* OBEPRO Search UX – safely scoped styling for Ivory Search AJAX results */
.obepro-search-ux,
.ivory-search-form,
.is-search-form,
.ivory-search {
  --obepro-radius: 14px;
  --obepro-shadow: 0 14px 40px rgba(0,0,0,.10);
  --obepro-border: rgba(0,0,0,.08);
  --obepro-muted: rgba(0,0,0,.62);
}

/* Make the search input feel premium without overriding theme too aggressively */
.obepro-search-ux input[type="search"],
.ivory-search-form input[type="search"],
.is-search-form input[type="search"]{
  border-radius: 999px !important;
}

/* Attempt to style common Ivory AJAX results containers (plugin versions differ) */
.is-ajax-search-result,
.is-ajax-search-results,
.is-ajax-results,
.ivory-search-results,
.is-results{
  border-radius: var(--obepro-radius);
  box-shadow: var(--obepro-shadow);
  border: 1px solid var(--obepro-border);
  overflow: hidden;
  background: #fff;
}

/* Result list */
.is-ajax-search-result ul,
.is-ajax-search-results ul,
.is-ajax-results ul,
.ivory-search-results ul{
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Each item */
.is-ajax-search-result li,
.is-ajax-search-results li,
.is-ajax-results li,
.ivory-search-results li{
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.is-ajax-search-result li:last-child,
.is-ajax-search-results li:last-child,
.is-ajax-results li:last-child,
.ivory-search-results li:last-child{
  border-bottom: none;
}

.is-ajax-search-result a,
.is-ajax-search-results a,
.is-ajax-results a,
.ivory-search-results a{
  text-decoration: none !important;
  color: inherit;
  width: 100%;
  display: flex;
  gap: 10px;
  align-items: center;
}

.is-ajax-search-result li:hover,
.is-ajax-search-results li:hover,
.is-ajax-results li:hover,
.ivory-search-results li:hover{
  background: rgba(0,0,0,.03);
}

/* Images: handle common markup */
.is-ajax-search-result img,
.is-ajax-search-results img,
.is-ajax-results img,
.ivory-search-results img{
  width: 44px;
  height: 44px;
  border-radius: 10px;
  object-fit: cover;
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
}

/* Title text - clamp to 2 lines where possible */
.is-ajax-search-result .title,
.is-ajax-search-results .title,
.is-ajax-results .title,
.ivory-search-results .title,
.is-ajax-search-result .is-title,
.is-ajax-search-results .is-title,
.is-ajax-results .is-title{
  font-weight: 600;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Meta: price/category/vendor if present */
.obepro-search-ux .obepro-meta,
.is-ajax-search-result .price,
.is-ajax-search-results .price,
.is-ajax-results .price,
.ivory-search-results .price{
  font-weight: 700;
}

.obepro-search-ux .obepro-submeta{
  font-size: 12px;
  color: var(--obepro-muted);
}

/* Footer link appended by JS */
.obepro-search-ux .obepro-search-footer{
  display: block;
  padding: 10px 12px;
  border-top: 1px solid rgba(0,0,0,.06);
  background: #fff;
}
.obepro-search-ux .obepro-search-footer a{
  display: block;
  font-weight: 700;
  text-decoration: none;
}

/* Mobile: ensure dropdown doesn't overflow screen edges */
@media (max-width: 768px){
  .is-ajax-search-result,
  .is-ajax-search-results,
  .is-ajax-results,
  .ivory-search-results,
  .is-results{
    max-width: calc(100vw - 20px);
  }

  .is-ajax-search-result li,
  .is-ajax-search-results li,
  .is-ajax-results li,
  .ivory-search-results li{
    padding: 12px;
  }
}

/* Scroll control (JS sets CSS variable for max items); fallback max-height */
.is-ajax-search-result,
.is-ajax-search-results,
.is-ajax-results,
.ivory-search-results,
.is-results{
  max-height: 420px;
  overflow: auto;
}
