.fsh-search-modal-wrap {
    position: fixed !important; top: 0 !important; left: 0 !important;
    width: 100vw !important; height: 100vh !important;
    z-index: 9999999 !important; display: flex !important; justify-content: center !important; align-items: flex-start !important;
    padding-top: 50px !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
    transition: opacity 0.2s ease, visibility 0.2s ease !important; box-sizing: border-box !important;
}
.fsh-search-modal-wrap.fsh-active { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; }

.fsh-search-modal-backdrop {
    position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important;
    background: rgba(15, 23, 42, 0.6) !important; backdrop-filter: blur(4px) !important;
}

.fsh-search-modal-container {
    position: relative !important; z-index: 2 !important; width: 90% !important; max-width: 780px !important;
    background: var(--fsh-bg) !important; border: 1px solid var(--fsh-border) !important; border-radius: 8px !important;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.25) !important; overflow: hidden !important; display: flex !important; flex-direction: column !important;
    max-height: 85vh !important;
}

.fsh-search-header {
    display: flex !important; align-items: center !important; padding: 14px 18px !important;
    background: var(--fsh-surface) !important; border-bottom: 1px solid var(--fsh-border) !important; gap: 12px !important;
}

.fsh-search-input-wrap {
    display: flex !important; align-items: center !important; flex-grow: 1 !important;
    background: var(--fsh-bg) !important; border: 1px solid var(--fsh-border) !important; border-radius: 6px !important;
    padding: 0 12px !important; box-shadow: inset 0 1px 2px rgba(0,0,0,0.03) !important;
}
.fsh-search-icon { font-size: 16px !important; margin-right: 8px !important; color: var(--fsh-text-muted) !important; }

#fsh-search-input {
    width: 100% !important; background: transparent !important; border: none !important; color: var(--fsh-text-main) !important;
    font-size: 15px !important; padding: 10px 0 !important; outline: none !important; box-shadow: none !important;
}
#fsh-search-clear {
    background: transparent !important; border: none !important; color: var(--fsh-text-muted) !important;
    font-size: 18px !important; cursor: pointer !important; display: none; line-height: 1 !important;
}
#fsh-search-clear:hover { color: var(--fsh-text-main) !important; }

.fsh-search-close-btn {
    background: transparent !important; border: none !important; color: var(--fsh-text-muted) !important;
    font-size: 26px !important; cursor: pointer !important; line-height: 1 !important;
}
.fsh-search-close-btn:hover { color: var(--fsh-primary) !important; }

.fsh-search-status {
    padding: 8px 18px !important; font-size: 11px !important; color: var(--fsh-text-muted) !important;
    background: var(--fsh-input-bg) !important; border-bottom: 1px solid var(--fsh-border) !important;
    text-transform: uppercase !important; letter-spacing: 0.5px !important;
}

.fsh-search-cat-pills {
    display: flex !important; justify-content: flex-start !important; align-items: center !important; flex-wrap: nowrap !important;
    overflow-x: auto !important; gap: 8px !important; padding: 10px 18px !important;
    background: var(--fsh-bg) !important; border-bottom: 1px solid var(--fsh-border) !important; scrollbar-width: none !important;
}
.fsh-search-cat-pills::-webkit-scrollbar { display: none !important; }

.fsh-cat-pill {
    background: var(--fsh-surface) !important; border: 1px solid var(--fsh-border) !important; color: var(--fsh-text-muted) !important;
    border-radius: 16px !important; padding: 6px 14px !important; font-size: 12px !important; font-weight: 600 !important;
    cursor: pointer !important; white-space: nowrap !important; transition: all 0.2s ease !important;
    flex-shrink: 0 !important; display: inline-flex !important; align-items: center !important; gap: 4px !important;
}
.fsh-cat-pill span { color: var(--fsh-text-muted) !important; font-size: 11px !important; }
.fsh-cat-pill:hover, .fsh-cat-pill.active { background: var(--fsh-primary) !important; border-color: var(--fsh-primary) !important; color: #ffffff !important; }
.fsh-cat-pill.active span { color: #ffffff !important; opacity:0.8 !important; }

.fsh-search-results-wrap {
    overflow-y: auto !important; padding: 14px 18px !important; display: flex !important; flex-direction: column !important;
    gap: 10px !important; background: var(--fsh-bg) !important;
}

.fsh-search-item {
    display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important;
    padding: 10px 14px !important; background: var(--fsh-bg) !important; border: 1px solid var(--fsh-border) !important; border-radius: 6px !important;
    transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease !important;
}
.fsh-search-item:hover, .fsh-search-item.fsh-keyboard-focused {
    transform: translateX(3px) !important; border-color: var(--fsh-primary) !important; box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}
.fsh-search-item.fsh-out-of-stock { opacity: 0.6 !important; background: var(--fsh-surface) !important; }

.fsh-item-link-wrap { display: flex !important; align-items: center !important; gap: 12px !important; flex-grow: 1 !important; text-decoration: none !important; overflow: hidden !important; }
.fsh-search-item img { width: 48px !important; height: 48px !important; object-fit: contain !important; border-radius: 4px !important; background: #ffffff !important; border: 1px solid var(--fsh-input-bg) !important; padding: 2px !important; flex-shrink: 0 !important; }

.fsh-search-item-info { flex-grow: 1 !important; overflow: hidden !important; }
.fsh-search-item-title { color: var(--fsh-text-main) !important; font-size: 13px !important; font-weight: 600 !important; margin: 0 0 3px 0 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.fsh-search-item-meta { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 11px !important; flex-wrap: wrap !important; }
.fsh-search-brand { color: var(--fsh-primary) !important; font-weight: 700 !important; }

.fsh-price-wrap { display: flex !important; align-items: center !important; flex-shrink: 0 !important; gap: 6px !important; }
.fsh-current-price { font-size: 13px !important; font-weight: 700 !important; color: var(--fsh-text-main) !important; }
.fsh-current-price.sale { color: #b91c1c !important; }
.fsh-old-price { font-size: 11px !important; color: var(--fsh-text-muted) !important; text-decoration: line-through !important; }
.fsh-sale-badge, .fsh-search-out-badge { color: #ffffff !important; font-size: 9px !important; font-weight: 700 !important; padding: 2px 5px !important; border-radius: 3px !important; text-transform: uppercase !important; }
.fsh-sale-badge { background: #b91c1c !important; }
.fsh-search-out-badge { background: var(--fsh-text-muted) !important; }

.fsh-search-actions { flex-shrink: 0 !important; }
.fsh-add-to-cart-btn, .fsh-view-btn {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    background: var(--fsh-primary) !important; color: #ffffff !important; border: none !important;
    padding: 6px 12px !important; min-width: 70px !important; border-radius: 4px !important;
    font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important;
    cursor: pointer !important; text-decoration: none !important; transition: background-color 0.2s ease, transform 0.1s ease !important;
}
.fsh-add-to-cart-btn:hover, .fsh-view-btn:hover { background: var(--fsh-primary-hover) !important; transform: scale(1.02) !important; }
.fsh-add-to-cart-btn.fsh-added { background: #15803d !important; color: #ffffff !important; }
.fsh-view-btn { background: var(--fsh-surface) !important; color: var(--fsh-text-main) !important; border: 1px solid var(--fsh-border) !important;}
.fsh-view-btn:hover { background: var(--fsh-border) !important; }

@media (max-width: 768px) {
    .fsh-search-modal-wrap { padding-top: 15px !important; }
    .fsh-search-modal-container { width: 95% !important; max-height: 92vh !important; }
}