/* Search shares the storefront's typography and quiet surfaces. */
.op-search [hidden] { display:none !important; }
.op-search { color:#17242b; }
.op-search-desktop { position:relative; min-width:0; }
.op-search-input-wrap { display:flex; align-items:center; gap:8px; min-width:0; }
.op-search-input-wrap > svg { flex-shrink:0; width:20px; height:20px; color:#677d89; }
.op-search input[type=search] { width:100%; min-width:0; padding:0; background:transparent; color:#17242b; font-family:inherit; appearance:none; -webkit-appearance:none; }
.op-search input[type=search]::-webkit-search-cancel-button { display:none; }
.op-search input::placeholder { color:#71828d; }
.op-search .op-search-icon-button { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:36px; height:36px; padding:8px; border:0; border-radius:50%; background:transparent; color:#617682; }
.op-search .op-search-icon-button svg { width:20px; height:20px; }
.op-search .op-search-icon-button:hover { background:#eaf1f5; }
.op-search :is(button,a):focus-visible { outline:2px solid #087fae; outline-offset:2px; }
.op-search-panel { background:#fff; }
.op-search-desktop .op-search-panel { position:absolute; inset-inline:0; top:calc(100% + 10px); z-index:45; max-height:min(590px,calc(100dvh - 110px)); overflow-y:auto; overscroll-behavior:contain; padding:20px; border:1px solid #e3eaee; border-radius:16px; box-shadow:0 16px 40px #17242b12; }
.op-search-status { padding:24px 8px; text-align:center; font-size:13px; line-height:1.9; color:#617682; }
.op-search-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:28px; margin-bottom:10px; }
.op-search-section-heading h2 { margin:0; color:#263b47; font-size:13px; font-weight:600; line-height:1.8; }
.op-search-section-heading :is(a,button) { display:inline-flex; align-items:center; gap:8px; min-height:32px; padding:0 2px; border:0; background:transparent; color:#087fae; font-family:inherit; font-size:12px; font-weight:500; text-decoration:none; cursor:pointer; white-space:nowrap; }
.op-search-section-heading button:disabled { opacity:.5; cursor:wait; }
.op-search-terms + .op-search-terms,.op-search-products + .op-search-terms { margin-top:22px; }
.op-search-products[hidden] + .op-search-terms { margin-top:0; }
.op-search-terms[hidden] + .op-search-terms { margin-top:0; }
.op-search-chips { display:flex; flex-wrap:wrap; gap:8px; }
.op-search .op-search-chip { min-height:36px; max-width:100%; padding:7px 13px; border:1px solid #e5ecef; border-radius:10px; background:#f8fafb; color:#415661; font-family:inherit; font-size:13px; font-weight:500; line-height:1.6; overflow-wrap:anywhere; cursor:pointer; }
.op-search .op-search-chip:hover { border-color:#bfdae7; background:#f0f7fa; color:#087fae; }
.op-search-product { display:flex; align-items:center; gap:14px; padding:12px 2px; border-bottom:1px solid #edf1f3; color:inherit; text-decoration:none; }
.op-search-product:last-child { border-bottom:0; }
.op-search-product:hover .op-search-product-title { color:#087fae; }
.op-search-product-image { display:block; width:68px; height:76px; flex-shrink:0; overflow:hidden; border-radius:10px; background:#f3f6f8; }
.op-search-product-image img { display:block; width:100%; height:100%; object-fit:cover; }
.op-search-image-missing::after { content:''; display:block; width:22px; height:18px; margin:28px auto; border:1px solid #d4e0e6; border-radius:4px; }
.op-search-product-info { display:flex; flex:1; min-width:0; flex-direction:column; align-items:flex-start; gap:4px; }
.op-search-product-title { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; color:#1b303c; font-size:14px; font-weight:600; line-height:1.8; overflow-wrap:anywhere; }
.op-search-product-english { display:block; max-width:100%; color:#6a7e8a; font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.op-search-product-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px; margin-top:4px; color:#263e4c; font-size:13px; font-weight:500; }
.op-search-product-price strong { font-size:14px; font-weight:600; }
.op-search-product-price del { margin-inline-end:3px; color:#8998a1; font-size:11px; font-weight:400; }
.op-search-currency { color:#728592; font-size:11px; font-weight:400; }
.op-search-product-price.op-search-unavailable { color:#81919b; font-size:12px; }
@media (min-width:1024px) {
    .op-store .op-header-main #desktopSearchInputWrapper { gap:9px; padding-inline:12px 5px; }
    .op-store .op-header-main #desktopSearchInput { flex:1; width:100%; font-size:13px; }
}
@media (max-width:1023px) {
    .op-store #headerMobileNavigation .op-mobile-search-field { flex:1; gap:6px; padding-inline:12px 5px; border:1px solid #dfe6e9; }
    .op-store #headerMobileNavigation input { font-size:16px; }
    .op-search-mobile .op-search-icon-button { width:44px; height:44px; }
    .op-search-mobile .op-search-chip,.op-search-mobile .op-search-section-heading :is(a,button) { min-height:44px; }
    .op-search-mobile .op-search-back { margin-inline-end:8px; }
    .op-mobile-search-open #headerMobileNavigation .op-mobile-search-brand { display:none; }
    .op-mobile-search-open :is(.op-mobile-nav,.op-purchase-bar,.op-payment-bar,.op-support-launcher) { visibility:hidden; pointer-events:none; }
    .op-mobile-search-open .op-header { z-index:50; }
    .op-search-mobile .op-search-panel { position:fixed; inset-inline:0; z-index:50; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding:18px 20px max(24px,env(safe-area-inset-bottom)); border-top:1px solid #edf1f3; }
    .op-search-mobile .op-search-product { padding-block:14px; }
    .op-search-mobile .op-search-product-image { width:72px; height:80px; }
    .op-search-mobile .op-search-section-heading h2 { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) { .op-search * { scroll-behavior:auto; transition:none; } }
