/* Kinetic Market — Native Search Bar, Filters + Loop Actions */

.geodir-search-container {
    --km-search-green: #005b46;
    --km-search-green-hover: #004535;
    --km-search-border: #b9b4a9;
    --km-search-text: #171717;
}

/* Unified search bar. */
.geodir-search-container form.geodir-listing-search {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid var(--km-search-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.04) !important;
}

.geodir-search-container .geodir-search {
    margin: 0 !important;
    padding: 0 !important;
    gap: 8px !important;
    row-gap: 8px !important;
}

.geodir-search-container .geodir-search > div {
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}

/* Homepage only: base dark search panel. Final homepage overrides below. */
body.home .geodir-search-container form.geodir-listing-search,
body.front-page .geodir-search-container form.geodir-listing-search {
    background: #1c1c1c !important;
    background-color: #1c1c1c !important;
}

/* Main fields. */
body .geodir-search-container .geodir-search :is(
    input.form-control:not([type="hidden"]),
    select.form-select,
    select.form-control,
    .km-native-category__trigger
) {
    box-sizing: border-box !important;
    min-height: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    border: 1px solid var(--km-search-border) !important;
    border-radius: 7px !important;
    background-color: #fff !important;
    color: var(--km-search-text) !important;
    font-family: inherit !important;
    font-size: 15px !important;
    outline: none !important;
    box-shadow: none !important;
}

body .geodir-search-container .geodir-search
.km-native-category__trigger {
    padding-left: 14px !important;
}

.geodir-search-container .input-group-inside {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.geodir-search-container .input-group-text {
    border: 0 !important;
    background: transparent !important;
    color: #706d66 !important;
    box-shadow: none !important;
}

/* Green search controls. */
body .geodir-search-container :is(
    .geodir_submit_search,
    .geodir-show-filters,
    .geodir-distance-show
) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    min-width: 46px;
    min-height: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 1px solid var(--km-search-green) !important;
    border-radius: 7px !important;
    background: var(--km-search-green) !important;
    color: #fff !important;
    box-shadow: none !important;
}

body .geodir-search-container :is(
    .geodir_submit_search,
    .geodir-show-filters,
    .geodir-distance-show
):hover {
    border-color: var(--km-search-green-hover) !important;
    background: var(--km-search-green-hover) !important;
    color: #fff !important;
}

body .geodir-search-container :is(
    .geodir_submit_search,
    .geodir-show-filters,
    .geodir-distance-show
):focus-visible {
    outline: 2px solid var(--km-search-green) !important;
    outline-offset: 3px;
}

.geodir-search-container :is(
    .geodir_submit_search,
    .geodir-show-filters,
    .geodir-distance-show
) i {
    color: inherit !important;
}

/* Near dropdown. */
body .geodir-search-container
.gd-search-field-near .gdlm-location-suggestions {
    box-sizing: border-box !important;
    padding: 8px !important;
    border: 1px solid #ddd9cf !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 10px 25px rgba(0,0,0,.14) !important;
}

body .geodir-search-container
.gdlm-location-suggestions > ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body .geodir-search-container
.gdlm-location-suggestions > ul:empty {
    display: none !important;
}

body .geodir-search-container
.gdlm-location-suggestions > ul > li {
    box-sizing: border-box !important;
    align-items: center !important;
    gap: 12px;
    margin: 0 !important;
    padding: 12px 10px !important;
    border: 0 !important;
    border-bottom: 1px solid #e8e5de !important;
    border-radius: 0 !important;
    background: transparent;
    color: #171717;
    line-height: 1.5;
}

body .geodir-search-container
.gdlm-location-suggestions > ul > li:hover,
body .geodir-search-container
.gdlm-location-suggestions > ul > li:focus-within {
    background-color: #f5f3ee !important;
}

body .geodir-search-container
.gdlm-location-suggestions > ul > li > span:first-child > i {
    margin-right: 6px;
}

body .geodir-search-container
.gdlm-location-suggestions > ul > li.gd-near-me {
    color: var(--km-search-green) !important;
}

body .geodir-search-container
.gdlm-location-suggestions > ul > li > span + span {
    flex: 0 0 auto;
}

/* Hide category heading visually. */
body .km-category-dialog .km-category-dialog__title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body .km-category-dialog .km-category-dialog__header {
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 10px !important;
}

body .km-category-dialog .km-category-dialog__back {
    margin-bottom: 0 !important;
}

body .km-category-dialog .km-category-dialog__close {
    margin: -5px -5px 0 0 !important;
}

/* Category search box. */
body .km-category-dialog input.km-category-dialog__filter {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 46px !important;
    height: auto !important;
    margin: 0 0 12px !important;
    padding: 11px 14px !important;
    border: 1px solid #b9b4a9 !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: #171717 !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    outline: none !important;
    box-shadow: none !important;
    appearance: none;
}

body .km-category-dialog
input.km-category-dialog__filter::placeholder {
    color: #706d66 !important;
    opacity: 1;
}

/* Advanced filters. */
.geodir-search-container .geodir-more-filters,
.geodir-search-container .geodir-more-filters .customize_filter_inner {
    background: #fff !important;
    background-color: #fff !important;
}

.geodir-search-container
.geodir-more-filters .customize_filter_inner {
    margin: 12px 0 0 !important;
    padding: 18px 4px 0 !important;
    border-top: 1px solid #e8e5de;
    border-radius: 0 !important;
}

.geodir-search-container
.geodir-more-filters > .geodir-advance-search {
    display: none !important;
}

.geodir-search-container .geodir-more-filters .form-field-label {
    color: var(--km-search-text) !important;
    font-weight: 700 !important;
}

body .geodir-search-container .geodir-more-filters :is(
    select,
    textarea,
    input[type="text"],
    input[type="search"],
    input[type="number"],
    input[type="date"],
    input[type="time"]
) {
    box-sizing: border-box !important;
    min-height: 46px !important;
    border: 1px solid var(--km-search-border) !important;
    border-radius: 7px !important;
    background-color: #fff !important;
    color: var(--km-search-text) !important;
    font-family: inherit !important;
    font-size: 15px !important;
    outline: none !important;
    box-shadow: none !important;
}

.geodir-search-container .geodir-more-filters .form-check-input {
    border: 1px solid #8d887e !important;
}

.geodir-search-container
.geodir-more-filters .form-check-input:checked {
    border-color: var(--km-search-green) !important;
    background-color: var(--km-search-green) !important;
}

/* No field focus rings or border-color changes. */
body .geodir-search-container :is(input, select, textarea):is(
    :focus,
    :focus-visible
),
body .geodir-search-container
.km-native-category__trigger:is(:focus, :focus-visible),
body .km-category-dialog input.km-category-dialog__filter:is(
    :focus,
    :focus-visible
) {
    outline: none !important;
    box-shadow: none !important;
}

body .geodir-search-container :is(
    input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
    select,
    textarea,
    .km-native-category__trigger
):is(:focus, :focus-visible),
body .km-category-dialog input.km-category-dialog__filter:is(
    :focus,
    :focus-visible
) {
    border-color: #b9b4a9 !important;
    background-color: #fff !important;
}

/* Black outlined loop action buttons. */
body .geodir-loop-actions-container .btn {
    border-color: #171717 !important;
    background: transparent !important;
    color: #171717 !important;
    box-shadow: none !important;
}

body .geodir-loop-actions-container .btn:is(
    :hover,
    :focus,
    :active,
    .active,
    .show,
    [aria-expanded="true"]
) {
    border-color: #171717 !important;
    background: #f1f1f1 !important;
    color: #171717 !important;
    box-shadow: none !important;
}

body .geodir-loop-actions-container .btn:focus-visible {
    outline: 2px solid #171717 !important;
    outline-offset: 3px;
}

body .geodir-loop-actions-container .btn :is(i, svg) {
    color: inherit !important;
}

/* Clear Search. */
body .geodir-loop-actions-container
[role="toolbar"] > a.km-clear-search.km-clear-search {
    order: 3 !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 36px !important;
    height: auto !important;
    margin: 0 0 0 auto !important;
    margin-inline-start: auto !important;
    padding: 6px 12px !important;
    border: 1px solid #171717 !important;
    border-radius: 6px !important;
    background: transparent !important;
    color: #171717 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    text-decoration: none !important;
    white-space: nowrap;
    box-shadow: none !important;
    cursor: pointer;
}

body .geodir-loop-actions-container
[role="toolbar"] > a.km-clear-search.km-clear-search::before {
    content: "\00d7";
    font-size: 19px;
    font-weight: 400;
    line-height: 1;
}

body .geodir-loop-actions-container
[role="toolbar"] > a.km-clear-search.km-clear-search:hover,
body .geodir-loop-actions-container
[role="toolbar"] > a.km-clear-search.km-clear-search:active {
    background: #f1f1f1 !important;
    text-decoration: none !important;
}

body .geodir-loop-actions-container
[role="toolbar"] > a.km-clear-search.km-clear-search:focus-visible {
    outline: 2px solid #171717 !important;
    outline-offset: 3px;
}

/* Desktop layout. */
@media (min-width: 800px) {
    .geodir-search-container .geodir-search
    > .gd-search-field-search:not([data-rule-key]),
    .geodir-search-container .geodir-search
    > .gd-search-field-distance {
        flex: 0 0 auto !important;
        width: auto !important;
    }
}

/* Mobile layout and spacing. */
@media (max-width: 799px) {
    .geodir-search-container form.geodir-listing-search {
        padding: 12px !important;
    }

    .geodir-search-container .geodir-search {
        flex-wrap: wrap !important;
        column-gap: 10px !important;
    }

    /* Margins provide spacing despite GD's inline row-gap:0!important. */
    body .geodir-search-container .geodir-search
    > :is(
        .gd-search-field-cpt,
        .gd-search-field-near,
        .gd-search-field-categories,
        [data-rule-key="s"],
        .gd-search-event_dates
    ) {
        flex: 1 1 100% !important;
        width: 100% !important;
        margin: 0 0 10px !important;
    }

    /* Search and Filters share the bottom row. */
    body .geodir-search-container .geodir-search
    > .gd-search-field-search:not([data-rule-key]) {
        flex: 1 1 0 !important;
        width: auto !important;
        margin: 0 !important;
    }

    /* Space between Sort, Save Search, count, and Clear Search. */
    body .geodir-loop-actions-container.geodir-loop-actions-container
    [role="toolbar"] {
        column-gap: 12px !important;
        row-gap: 14px !important;
        padding-top: 4px;
    }

    /* Keep stacked advanced filters separated. */
    body .geodir-search-container
    .geodir-more-filters .geodir-filter-cat {
        flex: 1 1 100% !important;
        min-width: 0 !important;
        margin-bottom: 18px !important;
    }
}
/* =========================================================
   HOMEPAGE ONLY — SUBTLE DARK SEARCH PANEL
   Keep action buttons and ratings unchanged.
   ========================================================= */
body:is(.home, .front-page) .geodir-search-container form.geodir-listing-search,
body:is(.home, .front-page) .geodir-search-container :is(
    .geodir-more-filters,
    .geodir-more-filters .customize_filter_inner,
    .geodir-more-filters .geodir-advance-search
) {
    background: #1c1c1c !important;
    background-color: #1c1c1c !important;
    box-shadow: none !important;
}

body:is(.home, .front-page) .geodir-search-container form.geodir-listing-search {
    border: 1px solid #303030 !important;
    border-radius: 12px !important;
    overflow: visible;
}

body:is(.home, .front-page) .geodir-search-container .geodir-more-filters {
    border-radius: 0 0 11px 11px !important;
}

body:is(.home, .front-page) .geodir-search-container
.geodir-more-filters .customize_filter_inner {
    border-top-color: #343434 !important;
}

/* Black inputs with subtle outlines, including advanced-filter selects. */
body:is(.home, .front-page) .geodir-search-container :is(
    .geodir-search input.form-control:not([type="hidden"]),
    .geodir-search select.form-select,
    .geodir-search select.form-control,
    .geodir-search .km-native-category__trigger,
    .geodir-more-filters input.form-control:not([type="hidden"]),
    .geodir-more-filters select.form-select,
    .geodir-more-filters select.form-control,
    .geodir-more-filters .form-select,
    .geodir-more-filters .form-control
) {
    background: #101010 !important;
    background-color: #101010 !important;
    border: 1px solid #525252 !important;
    color: #fff !important;
    box-shadow: none !important;
}

body:is(.home, .front-page) .geodir-search-container :is(
    input.form-control,
    .form-control
)::placeholder {
    color: #b9b9b9 !important;
    opacity: 1;
}

body:is(.home, .front-page) .geodir-search-container :is(
    .geodir-search .input-group-text,
    .geodir-search .km-native-category__trigger i,
    .geodir-search .km-native-category__trigger svg,
    .geodir-more-filters select,
    .geodir-more-filters .form-field-label
) {
    color: #f3f3f3 !important;
}

body:is(.home, .front-page) .geodir-search-container
.geodir-more-filters :is(.form-check-label, label:not(.form-field-label)) {
    color: #e5e5e5;
}

/* Keep native dropdown panels readable on their own backgrounds. */
body:is(.home, .front-page) .geodir-search-container
:is(.gdlm-location-suggestions, .dropdown-menu) {
    color: #171717;
}

body:is(.home, .front-page) .geodir-search-container :is(
    .geodir-search input.form-control,
    .geodir-search select.form-select,
    .geodir-search .km-native-category__trigger,
    .geodir-more-filters input.form-control,
    .geodir-more-filters select.form-select
):focus-visible {
    border-color: #8b8b8b !important;
    outline: 2px solid rgba(255,255,255,.22) !important;
    outline-offset: 1px;
}

/* =========================================================
   KM — HOMEPAGE DARK SEARCH DROPDOWN TEXT
   ========================================================= */

body.home .geodir-search-container select,
body.home .geodir-search-container select option,
body.front-page .geodir-search-container select,
body.front-page .geodir-search-container select option {
    color: #fff !important;
    background-color: #101010 !important;
}

/* Native dropdown selected option */
body.home .geodir-search-container select option:checked,
body.front-page .geodir-search-container select option:checked {
    color: #fff !important;
}

/* Custom dropdown menu items */
body.home .geodir-search-container .dropdown-menu,
body.front-page .geodir-search-container .dropdown-menu {
    background-color: #181818 !important;
    border-color: #444 !important;
}

body.home .geodir-search-container .dropdown-item,
body.front-page .geodir-search-container .dropdown-item {
    color: #fff !important;
}

body.home .geodir-search-container .dropdown-item:hover,
body.home .geodir-search-container .dropdown-item:focus,
body.front-page .geodir-search-container .dropdown-item:hover,
body.front-page .geodir-search-container .dropdown-item:focus {
    background-color: #303030 !important;
    color: #fff !important;
}
