:root {
    --casw-search-width-hover: 320px;
    --casw-box-width: 40px;
    --casw-border-radius: 99px;
    --casw-icon-size: 20px;
    --casw-icon-color: #1e293b;
    --casw-accent-color: #10b981;
    --casw-bg-hover: #f1f5f9;
    --casw-text-color: inherit;
    --casw-font-size: 14px;
    --casw-dropdown-bg: #fff;
    --casw-dropdown-border: #e2e8f0;
    --casw-title-color: #1e293b;
    --casw-price-color: #ef4444;
    --casw-results-width: 400px;
    --casw-results-max-height: 420px;
}
.casw-hover-search-container { display: flex !important; align-items: center !important; justify-content: center !important; height: 100% !important; }
.custom-ajax-search-wrap { position: relative; width: var(--casw-box-width, 40px); height: var(--casw-box-width, 40px); transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1); overflow: visible; display: flex !important; align-items: center !important; }
.custom-ajax-search-wrap .search-form { position: relative; display: flex !important; align-items: center !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; }
.casw-search-icon-trigger { position: absolute; left: 12px; color: var(--casw-icon-color); pointer-events: none; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 2; top: 50% !important; transform: translateY(-50%) !important; line-height: 1 !important; }
.casw-search-icon-trigger svg { width: var(--casw-icon-size, 20px); height: var(--casw-icon-size, 20px); }
.custom-ajax-search-wrap .search-field { width: 100% !important; height: 100% !important; padding: 0 15px 0 42px !important; border: 1px solid transparent !important; background-color: transparent !important; border-radius: var(--casw-border-radius, 99px) !important; outline: none !important; font-size: var(--casw-font-size, 14px) !important; color: var(--casw-text-color, inherit) !important; opacity: 0; cursor: pointer; transition: all 0.3s ease; box-sizing: border-box !important; }
.custom-ajax-search-wrap:focus-within, .custom-ajax-search-wrap.casw-always-expanded { width: var(--casw-search-width-hover); }
.custom-ajax-search-wrap:not(.casw-no-hover-expand):hover { width: var(--casw-search-width-hover); }
.custom-ajax-search-wrap .search-field:focus, .custom-ajax-search-wrap.casw-always-expanded .search-field { opacity: 1; cursor: text; background-color: var(--casw-bg-hover) !important; border-color: #cbd5e1 !important; }
.custom-ajax-search-wrap:not(.casw-no-hover-expand):hover .search-field { opacity: 1; cursor: text; background-color: var(--casw-bg-hover) !important; border-color: #cbd5e1 !important; }
.search-results-output { position: absolute; top: 100%; right: 0; width: var(--casw-results-width, 400px); background: var(--casw-dropdown-bg, #fff); border: 1px solid var(--casw-dropdown-border, #e2e8f0); box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1); z-index: 99999; max-height: var(--casw-results-max-height, 420px); overflow-y: auto; border-radius: 8px; margin-top: 10px; }
.ajax-woo-results { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.woo-search-item { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 12px !important; border-bottom: 1px solid #f1f5f9 !important; }
.woo-search-item:hover { background: #f8fafc !important; }
.woo-search-link { display: flex !important; align-items: center !important; flex: 1 !important; text-decoration: none !important; color: #1e293b !important; margin-right: 10px !important; }
.search-thumb { display: flex !important; align-items: center !important; }
.search-thumb img { width: 45px !important; height: 45px !important; object-fit: cover !important; margin-right: 12px !important; border-radius: 6px !important; border: 1px solid #e2e8f0 !important; }
.search-meta { display: flex !important; flex-direction: column !important; justify-content: center !important; }
.search-title { font-weight: 600 !important; font-size: var(--casw-font-size, 13.5px) !important; line-height: 1.3 !important; margin-bottom: 3px !important; color: var(--casw-title-color, #1e293b) !important; text-align: left !important;}
.search-price del { color: #94a3b8 !important; font-size: calc(var(--casw-font-size, 13px) - 2px) !important; margin-right: 4px !important; }
.search-price ins, .search-price .woocommerce-Price-amount { color: var(--casw-price-color, #ef4444) !important; font-weight: bold !important; font-size: var(--casw-font-size, 13px) !important; text-decoration: none !important; }
.search-add-to-cart { display: flex !important; align-items: center !important; }
.search-add-to-cart .button { background-color: var(--casw-accent-color) !important; color: #ffffff !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 600 !important; border-radius: 4px !important; text-decoration: none !important; white-space: nowrap !important; transition: background 0.2s ease !important; display: inline-flex !important; align-items: center !important; height: auto !important; line-height: 1.2 !important; }
.search-add-to-cart .button:hover { filter: brightness(0.9) !important; }
.search-add-to-cart .button.loading { opacity: 0.6 !important; }
.search-loading, .search-error, .no-results, .view-all-results { padding: 14px; text-align: center; font-size: 13.5px; color: #64748b; }
.view-all-results a { font-weight: 700; color: #3b82f6; text-decoration: none; }
.casw-spinner { display: inline-block !important; width: 14px !important; height: 14px !important; border: 2px solid #cbd5e1 !important; border-radius: 50% !important; border-top-color: #3b82f6 !important; animation: casw-spin 0.6s linear infinite !important; margin-right: 5px !important; vertical-align: middle !important; }
@keyframes casw-spin { to { transform: rotate(360deg); } }

/* Preview trong Block Editor */
.casw-block-editor-notice { border: 1px dashed #cbd5e1; border-radius: 8px; padding: 10px 14px; }
