/* =========================================================
   SEARCH WIDGET – FINAL APPROVED VERSION
   ========================================================= */

.ta-search-widget {
    display: flex;
    align-items: center;
    width: 100%;
    height: 46px;                 /* final balanced height */
    background: #ffffff;
    border: 1px solid #e6e8ec;
    border-radius: 999px;
    padding: 4px;                 /* optical spacing */
    box-sizing: border-box;
}

/* Reset native search UI */
.ta-search-widget input[type="search"] {
    -webkit-appearance: none;
    appearance: none;
}

/* Input – hard reset, no visual shifts */
.ta-search-widget input,
.ta-search-widget input:focus,
.ta-search-widget input:focus-visible,
.ta-search-widget input:active {
    flex: 1;
    height: 100%;
    border: none !important;
    outline: none !important;
    background-color: transparent !important;

    padding: 0 16px;
    font-size: 15px;
    font-family: system-ui, -apple-system, BlinkMacSystemFont;
    color: #111827;

    line-height: 1;              /* optical vertical centering */
    box-shadow: none !important;
    caret-color: #111827;
}

/* Autofill / internal browser paint fix */
.ta-search-widget input:-webkit-autofill,
.ta-search-widget input:-webkit-autofill:hover,
.ta-search-widget input:-webkit-autofill:focus,
.ta-search-widget input:-webkit-autofill:active {
    background-color: transparent !important;
    -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
    -webkit-text-fill-color: #111827 !important;
    transition: background-color 9999s ease-out;
}

/* Placeholder */
.ta-search-widget input::placeholder {
    color: #9aa0a6;
}

/* Remove text selection background */
.ta-search-widget input::selection,
.ta-search-widget input::-moz-selection {
    background: transparent;
    color: #111827;
}

/* Search button */
.ta-search-widget button {
    width: 36px;
    height: 36px;
    min-width: 36px;
    min-height: 36px;

    border-radius: 50%;
    border: none;
    background: #2563eb;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;
    padding: 0;
}

/* Icon */
.ta-search-widget button svg {
    width: 18px;
    height: 18px;
    stroke: #ffffff;
}

/* Kill ALL focus visuals everywhere */
.ta-search-widget input:focus,
.ta-search-widget input:focus-visible,
.ta-search-widget button:focus,
.ta-search-widget button:focus-visible,
.ta-search-widget:focus,
.ta-search-widget:focus-within,
.ta-search-widget:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    border-color: #e6e8ec;
}
