/* MOKAVE Live Search 0.4.4. Product geometry and typography belong to the theme. */
.mokave-live-search[open] {
    display: flex; flex-direction: column; position: fixed; inset: 0;
    width: 100%; height: 100%; max-width: none; max-height: none;
    margin: 0; padding: 0; border: 0; background: #f8f5f6; color: #111;
    font-family: inherit; box-sizing: border-box;
}
.mokave-live-search::backdrop { background: rgb(0 0 0 / .25); }
html.mokave-live-search-open { overflow: hidden; }
.mokave-live-search [hidden], .mokave-live-search__mobile-trigger[hidden] { display: none !important; }
.mokave-live-search__top {
    display: flex; align-items: center; gap: 16px; flex: 0 0 auto;
    padding: max(16px, env(safe-area-inset-top)) 24px 16px;
    border-bottom: 1px solid #e1e1e1; background: #f8f5f6;
}
.mokave-live-search__form { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; margin: 0; }
.mokave-live-search__form input {
    flex: 1; min-width: 0; border: 0; border-radius: 0; background: transparent;
    font-family: inherit; font-size: 18px; color: #111; padding: 10px 0; margin: 0;
}
.mokave-live-search__form input::-webkit-search-cancel-button { display: none; }
.mokave-live-search button { font-family: inherit; color: inherit; cursor: pointer; }
.mokave-live-search__submit, .mokave-live-search__close,
.mokave-live-search__mobile-trigger {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 44px; min-height: 44px; padding: 8px; border: 0; background: transparent;
}
.mokave-live-search__submit, .mokave-live-search__close, .mokave-live-search__mobile-trigger { font-size: 30px; line-height: 1; }
.mokave-live-search__close svg { flex: 0 0 20px; width: 20px; height: 20px; }
.mokave-live-search__content { flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; padding-bottom: env(safe-area-inset-bottom); }
.mokave-live-search__status { margin: 0; padding-block: 24px; font-size: 14px; line-height: 1.5; }
.mokave-live-search__results { width: 100%; }
.mokave-live-search__bottom { display: flex; justify-content: center; padding: 24px; gap: 20px; }
.mokave-live-search__more { min-height: 44px; padding: 12px 30px; background: transparent; border: 1px solid #111; font-size: 14px; }
.mokave-live-search__fallback { align-self: center; color: inherit; font-size: 14px; text-decoration: underline; }
.mokave-live-search button:disabled { opacity: .5; cursor: wait; }
.mokave-live-search :focus-visible, .mokave-live-search__mobile-trigger:focus-visible { outline: 1px solid #111; outline-offset: 3px; }
.mokave-live-search__form input:focus-visible { outline: 0; box-shadow: none; }
.mokave-live-search__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 599px) {
    .mokave-live-search__top { padding-left: 12px; padding-right: 12px; gap: 4px; }
    .mokave-live-search__form { gap: 4px; }
    .mokave-live-search__form input { font-size: 16px; }
    .mokave-live-search__status { padding-block: 18px; }
}

/* Automatic loading has a keyboard/screen-reader fallback, revealed on focus. */
.mokave-live-search__sentinel { height: 1px; width: 100%; }
.mokave-live-search__more[data-automatic="true"]:not([data-retry]):not(:focus-visible) {
    position: absolute; width: 1px; height: 1px; min-height: 0;
    padding: 0; margin: -1px; border: 0; overflow: hidden;
    clip: rect(0,0,0,0); white-space: nowrap;
}

.mokave-live-search__status:empty { display: none; }
.mokave-live-search__recent-title { margin: 0; padding-block: 24px; font: inherit; font-size: 14px; line-height: 1.5; }
@media(max-width:599px){.mokave-live-search__recent-title{padding-block:18px}}

/* The overlay also runs outside WooCommerce body classes. */
.mokave-live-search__results ul.products { list-style: none; }

/* Keep the native outline path; only unselected hearts have an empty centre. */
.mokave-live-search__results .bn-shop-products__product-favorite-button:not(.--added) svg g path:first-child { fill: none; }
