.shop-search-popup { position: fixed; z-index: 1045; overflow: auto; overscroll-behavior: contain; box-sizing: border-box; padding: 6px; border: 1px solid #d9e1d9; border-radius: 14px; background: #fff; color: #173e34; box-shadow: 0 12px 36px #173e3429; font: 15px/1.4 Arial, Helvetica, sans-serif; text-align: left; }
.shop-search-popup[hidden] { display: none; }
.shop-search-popup *, .shop-search-popup *::before { box-sizing: border-box; }
.shop-search-popup .shop-search-group { --search-image-size: 144px; position: relative; min-height: calc(var(--search-image-size) + 20px); padding: 10px 7px 10px calc(var(--search-image-size) + 20px); }
.shop-search-popup .shop-search-product { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 0 7px; border-radius: 5px; color: #173e34; text-decoration: none; }
.shop-search-popup .shop-search-picture { position: absolute; left: 7px; top: 10px; display: grid; place-items: center; width: var(--search-image-size); height: var(--search-image-size); border-radius: 9px; overflow: hidden; contain: paint; background: #f4f3ed; color: #748174; }
.shop-search-popup .shop-search-backdrop { position: absolute; inset: -8%; z-index: 0; background-size: cover; background-position: center; filter: blur(9px); opacity: .75; pointer-events: none; }
.shop-search-popup .shop-search-picture img { position: relative; z-index: 1; display: block; width: var(--search-image-size); height: var(--search-image-size); min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; object-fit: contain; }
.shop-search-popup .shop-search-product:is(:hover, [aria-selected=true]) .shop-search-picture { outline: 2px solid #7c9870; outline-offset: -2px; }
.shop-search-popup .shop-search-detail { flex: 1; min-width: 0; }
.shop-search-popup .shop-search-title { display: block; font-weight: 600; overflow-wrap: anywhere; }
.shop-search-popup .shop-search-sku { display: block; margin-top: 4px; color: #657367; font-size: 12px; overflow-wrap: anywhere; }
.shop-search-popup .shop-search-arrow { font-size: 22px; flex: 0 0 auto; color: #6a7e6d; }
.shop-search-popup .shop-search-group + .shop-search-group { border-top: 1px solid #e4e9e1; }
.shop-search-popup .shop-search-note { margin: 5px 0 0; color: #58685b; font-size: 11px; }
.shop-search-popup .shop-search-sizes { display: flex; flex-wrap: wrap; gap: 4px; }
.shop-search-popup .shop-search-size { display: inline-block; min-height: 28px; padding: 5px 7px; border-radius: 5px; background: #f1f5ed; color: #173e34; text-decoration: none; font-size: 12px; line-height: 18px; white-space: nowrap; }
.shop-search-popup .shop-search-price strong { font-weight: 600; }
.shop-search-popup .shop-search-action { display: block; width: 100%; min-height: 44px; margin: 5px 0 0; padding: 12px; border: 0; border-top: 1px solid #e4e9e1; border-radius: 0 0 8px 8px; background: #f4f7f2; color: #173e34; font: 600 14px/1.4 Arial, Helvetica, sans-serif; text-align: center; text-decoration: none; cursor: pointer; box-shadow: none; transform: none; }
.shop-search-popup .shop-search-action::before { content: none; }
.shop-search-popup [role=option]:hover, .shop-search-popup [role=option][aria-selected=true] { background: #eaf1e7; outline: 2px solid #7c9870; outline-offset: -2px; }
.shop-search-popup .shop-search-message { margin: 0; padding: 14px 10px; color: #58685b; }
.shop-search-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 767px) {
    .shop-search-popup .shop-search-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: min-content min-content 1fr; column-gap: 12px; align-items: start; min-height: 0; padding: 10px 7px; }
    .shop-search-popup .shop-search-group::before { content: ''; grid-column: 1; grid-row: 1 / 4; width: 100%; aspect-ratio: 1; }
    .shop-search-popup .shop-search-product { grid-column: 2; grid-row: 1; min-height: 0; padding: 0 0 6px; }
    .shop-search-popup .shop-search-picture { display: block; width: calc((100% - 26px) / 2); height: auto; aspect-ratio: 1; }
    .shop-search-popup .shop-search-picture img { position: absolute; inset: 0; width: 100%; height: 100%; }
    .shop-search-popup .shop-search-arrow { display: none; }
    .shop-search-popup .shop-search-title { font-size: 14px; }
    .shop-search-popup .shop-search-sizes { grid-column: 2; grid-row: 2; gap: 3px; }
    .shop-search-popup .shop-search-note { grid-column: 2; grid-row: 3; }
    .shop-search-popup .shop-search-size { min-height: 24px; padding: 4px 2px; font-size: 10.5px; line-height: 16px; }
}
