/* ld_header_woo_search: magnifier trigger + dropdown with product search and live results. */
.module-product-search { position: relative; display: flex; align-items: center; }
.module-product-search .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.module-product-search .ld-module-trigger {
	display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
	color: inherit; line-height: 1; transition: opacity .2s;
}
.module-product-search .ld-module-trigger:hover { opacity: .75; }
.module-product-search .ld-module-trigger:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; border-radius: 2px; }
.module-product-search .ld-module-trigger-icon { display: inline-flex; font-size: 24px; }
.module-product-search .ld-module-trigger-icon svg { width: 1em; height: 1em; display: block; }

.module-product-search .ld-module-dropdown {
	position: absolute; top: calc(100% + 14px); right: -10px; z-index: 1000;
	width: 420px; max-width: calc(100vw - 30px); padding: 14px;
	background: #fff; color: #181b31; border-radius: 6px; box-shadow: 0 20px 50px rgba(0,0,0,.15);
	visibility: hidden; opacity: 0; transform: translateY(8px); pointer-events: none;
	transition: opacity .2s ease, transform .3s cubic-bezier(.23,1,.32,1), visibility 0s linear .3s;
}
.module-product-search .ld-module-dropdown.is-open {
	visibility: visible; opacity: 1; transform: none; pointer-events: auto;
	transition: opacity .2s ease, transform .3s cubic-bezier(.23,1,.32,1), visibility 0s;
}

.liquid-wc-product-search { position: relative; display: flex; align-items: stretch; gap: 0; margin: 0; }
.liquid-wc-product-search input.search-field {
	flex: 1 1 auto; min-width: 0; height: 46px; margin: 0; padding: 0 14px;
	border: 1px solid rgba(0,0,0,.15); border-right: 0; border-radius: 4px 0 0 4px;
	background: #fff; color: inherit; font-size: 14px; box-shadow: none; outline: none;
}
.liquid-wc-product-search input.search-field:focus { border-color: #111; }
.liquid-wc-product-search input.search-field::-webkit-search-cancel-button { cursor: pointer; }
.liquid-wc-product-search .search-field-select { flex: 0 0 auto; max-width: 42%; display: flex; }
.liquid-wc-product-search select.search-field {
	height: 46px; margin: 0; padding: 0 28px 0 12px; max-width: 100%;
	border: 1px solid rgba(0,0,0,.15); border-right: 0; border-radius: 0;
	background: #f7f7f7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23555' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 10px center;
	-webkit-appearance: none; appearance: none; color: inherit; font-size: 13px; text-overflow: ellipsis;
}
.liquid-wc-product-search button[type="submit"] {
	position: relative; flex: 0 0 46px; width: 46px; height: 46px; padding: 0; margin: 0;
	display: inline-flex; align-items: center; justify-content: center;
	border: 0; border-radius: 0 4px 4px 0; background: #111; color: #fff; font-size: 17px; cursor: pointer;
}
.liquid-wc-product-search button[type="submit"] svg { width: 1em; height: 1em; }
.liquid-wc-product-search .loading-icon {
	display: none; width: 16px; height: 16px; border-radius: 50%;
	border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; animation: epic-search-spin .7s linear infinite;
}
.liquid-wc-product-search.loading button[type="submit"] svg { display: none; }
.liquid-wc-product-search.loading .loading-icon { display: block; }
@keyframes epic-search-spin { to { transform: rotate(360deg); } }

/* Live results */
.liquid-wc-product-search-results {
	position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 5;
	max-height: 60vh; overflow-y: auto;
	background: #fff; color: #181b31; border-radius: 6px; box-shadow: 0 16px 40px rgba(0,0,0,.14);
}
.liquid-wc-product-search-results ul { list-style: none; margin: 0; padding: 6px 0; }
.liquid-wc-product-search-results li { margin: 0; }
.liquid-wc-product-search-results .ld-wc-search-result a {
	display: flex; align-items: center; gap: 12px; padding: 8px 14px; color: inherit; text-decoration: none;
}
.liquid-wc-product-search-results .ld-wc-search-result a:hover,
.liquid-wc-product-search-results .ld-wc-search-result a:focus-visible,
.liquid-wc-product-search-results .ld-wc-search-result.is-active a { background: #f5f5f5; outline: none; }
.ld-wc-search-result--thumbnail { flex: 0 0 48px; width: 48px; height: 48px; }
.ld-wc-search-result--thumbnail img { width: 48px; height: 48px; object-fit: cover; border-radius: 4px; display: block; }
.ld-wc-search-result--meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ld-wc-search-result--title { font-size: 14px; font-weight: 600; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ld-wc-search-result--price { font-size: 13px; opacity: .75; }
.ld-wc-search-result--price del { opacity: .6; margin-right: 4px; }
.ld-wc-search-result--price ins { text-decoration: none; }
.liquid-wc-product-search-results .ld-wc-search-view-all a {
	display: block; padding: 10px 14px; border-top: 1px solid rgba(0,0,0,.08);
	font-size: 13px; font-weight: 600; text-align: center; color: inherit; text-decoration: none;
}
.liquid-wc-product-search-results .ld-wc-search-view-all a:hover { background: #f5f5f5; }
.liquid-wc-product-search-results .ld-wc-search-empty { padding: 12px 14px; font-size: 14px; opacity: .7; }

@media (max-width: 767px) {
	.module-product-search .ld-module-dropdown { position: fixed; top: var(--epic-search-top, 70px); left: 15px; right: 15px; width: auto; max-width: none; }
}
