/* Live product search dropdown (assets/js/live-search.js). Theme colour tokens, so dark mode follows automatically. */
.bm-ls-host { position: relative; }
.bm-ls {
	position: absolute; z-index: 60; top: calc(100% + 6px); left: 0; right: 0;
	max-height: min(80vh, 640px); overflow-y: auto; overscroll-behavior: contain;
	background: var(--wp--preset--color--paper, #fff); color: var(--wp--preset--color--ink, #222);
	border: 1px solid var(--wp--preset--color--line, #ddd); border-radius: 14px;
	box-shadow: 0 12px 32px rgba(0, 0, 0, .16); padding: 6px; text-align: left;
}
.bm-ls[hidden] { display: none; }
.bm-ls.is-loading .bm-ls__list { opacity: .5; transition: opacity .15s; }
.bm-ls.is-loading::before {
	content: ""; position: sticky; display: block; float: right; top: 4px; right: 4px; z-index: 1; margin: 2px 2px -22px 0;
	width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--wp--preset--color--line, #ddd);
	border-top-color: var(--wp--preset--color--crimson, #b0173a); animation: bm-ls-spin .7s linear infinite;
}
.bm-ls.is-loading:has(.bm-ls__wait)::before { display: none; }
.bm-ls__wait { margin: 0; padding: 16px 12px; display: flex; align-items: center; gap: 10px; font-size: .9rem; color: var(--wp--preset--color--ink-soft, #666); }
.bm-ls__spin {
	flex: none; width: 20px; height: 20px; border-radius: 50%; border: 2.5px solid var(--wp--preset--color--line, #ddd);
	border-top-color: var(--wp--preset--color--crimson, #b0173a); animation: bm-ls-spin .7s linear infinite;
}
@keyframes bm-ls-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .bm-ls__spin, .bm-ls.is-loading::before { animation-duration: 1.8s; } }
.bm-ls__list { list-style: none; margin: 0; padding: 0; }
.bm-ls__item { margin: 0; padding: 0; }
.bm-ls__link {
	display: grid; grid-template-columns: 52px 1fr auto; gap: 12px; align-items: center;
	padding: 8px; border-radius: 10px; color: inherit; text-decoration: none;
}
.bm-ls__item.is-active .bm-ls__link, .bm-ls__link:hover { background: var(--wp--preset--color--shelf, #f4f4f4); }
.bm-ls__media { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 8px; overflow: hidden; background: #fff; }
.bm-ls__img { width: 100%; height: 100%; object-fit: contain; display: block; }
.bm-ls__body { min-width: 0; display: grid; gap: 2px; }
.bm-ls__name { font-size: .9rem; font-weight: 600; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bm-ls__sku { font-size: .72rem; color: var(--wp--preset--color--ink-soft, #666); letter-spacing: .01em; }
.bm-ls__price { display: grid; justify-items: end; gap: 1px; white-space: nowrap; font-size: .92rem; font-weight: 700; }
.bm-ls__now.is-sale { color: var(--wp--preset--color--crimson, #b0173a); }
.bm-ls__old { font-size: .74rem; font-weight: 400; color: var(--wp--preset--color--ink-soft, #666); }
.bm-ls__all {
	display: block; margin-top: 4px; padding: 10px; text-align: center; border-radius: 10px;
	font-size: .88rem; font-weight: 600; color: var(--wp--preset--color--crimson, #b0173a); text-decoration: none;
	border-top: 1px solid var(--wp--preset--color--line, #ddd);
}
.bm-ls__all:hover { background: var(--wp--preset--color--shelf, #f4f4f4); }
.bm-ls__empty { margin: 0; padding: 14px 12px; font-size: .9rem; color: var(--wp--preset--color--ink-soft, #666); }
@media (max-width: 640px) {
	.bm-ls { max-height: 60vh; }
	.bm-ls__link { grid-template-columns: 44px 1fr auto; gap: 10px; }
	.bm-ls__media { width: 44px; height: 44px; }
}
