/* One shared search control; scoped overrides keep Flatsome's form-flat sizing out. */
.ep-profile-search {
    display: flex;
    align-items: center;
    gap: 4px;
    width: 100%;
    margin: 0;
    padding: 4px;
    border: 1px solid #e4dcd5;
    border-radius: 16px;
    background: #faf7f3;
    color: #382e2b;
    font-size: 14px;
    box-shadow: 0 2px 6px rgb(56 46 43 / 4%);
    transition: border-color .2s ease, box-shadow .2s ease;
}
.ep-profile-search:focus-within {
    border-color: #925768;
    box-shadow: 0 0 0 3px rgb(146 87 104 / 12%);
}
form.ep-profile-search input[type="search"],
form.ep-profile-search select {
    height: 40px;
    min-height: 40px;
    min-width: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    box-shadow: none;
    color: #382e2b;
    font: inherit;
    line-height: 1.4;
}
form.ep-profile-search select {
    flex: 0 1 140px;
    width: 140px;
    padding: 0 28px 0 12px;
    border-right: 1px solid #e4dcd5;
    font-weight: 600;
    cursor: pointer;
}
form.ep-profile-search input[type="search"] {
    flex: 1 1 160px;
    width: 160px;
    padding: 0 10px;
}
.ep-profile-search input::placeholder { color: #847975; opacity: 1; }
form.ep-profile-search button {
    display: grid;
    place-items: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    min-height: 40px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: #60363f;
    color: #fff;
    box-shadow: none;
    line-height: 1;
}
.ep-profile-search button:hover { background: #48232c; }
.ep-profile-search .datify-icon { width: 20px; height: 20px; }
.ep-profile-search :focus-visible { outline: 2px solid #925768; outline-offset: -2px; }
.ep-area-picker {
    position: relative;
    flex: 0 1 150px;
    min-width: 110px;
    width: 150px;
    border-right: 1px solid #e4dcd5;
}
.ep-area-picker > summary {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 40px;
    padding: 0 12px;
    font-weight: 600;
    list-style: none;
    cursor: pointer;
}
.ep-area-picker > summary::-webkit-details-marker { display: none; }
.ep-area-picker > summary::after {
    content: '';
    flex: 0 0 6px;
    height: 6px;
    margin-left: auto;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
}
.ep-area-picker [data-ep-area-selection] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ep-area-picker__panel {
    position: absolute;
    top: calc(100% + 12px);
    left: -4px;
    z-index: 100;
    width: min(304px, calc(100vw - 32px));
    padding: 14px;
    border: 1px solid #e4dcd5;
    border-radius: 12px;
    background: #fffdfb;
    box-shadow: 0 12px 35px rgb(33 29 28 / 15%);
    color: #382e2b;
    font-size: 14px;
    text-align: left;
}
form.ep-profile-search .ep-area-picker__search input[type="search"] {
    width: 100%;
    height: 40px;
    margin-bottom: 8px;
    padding: 0 10px;
    border: 1px solid #e4dcd5;
    border-radius: 8px;
}
form.ep-profile-search .ep-area-picker__all {
    display: block;
    width: 100%;
    height: auto;
    min-height: 40px;
    margin-bottom: 8px;
    padding: 8px 10px;
    background: #f5e9ed;
    color: #8a344c;
    font: inherit;
    font-weight: 600;
    text-align: left;
    text-transform: none;
    letter-spacing: normal;
}
.ep-area-picker__choices { max-height: min(320px, 45vh); overflow-y: auto; overscroll-behavior: contain; }
.ep-area-picker__option {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 40px;
    margin: 0;
    padding: 8px;
    border-radius: 8px;
    color: inherit;
    font-size: inherit;
    font-weight: 400;
    cursor: pointer;
}
.ep-area-picker__option input { flex: 0 0 auto; margin: 0; accent-color: #983b56; }
.ep-area-picker__option span { overflow-wrap: anywhere; }
.ep-area-picker__option:hover,
.ep-area-picker__option:has(input:checked) { background: #f5e9ed; }
.ep-area-picker__choices > .ep-area-picker__group > .ep-area-picker__option { font-weight: 700; }
.ep-area-picker__choices > .ep-area-picker__group + .ep-area-picker__group { margin-top: 6px; padding-top: 6px; border-top: 1px solid #e4dcd5; }
.ep-area-picker__children { margin-left: 14px; padding-left: 6px; border-left: 1px solid #e4dcd5; }
.ep-area-picker__empty { margin: 8px 0 0; }
.ep-area-picker [hidden] { display: none !important; }
@media (max-width: 849px) {
    /* Flatsome scales the mobile search wrapper to 80%, including text and touch targets. */
    .header-search-form-wrapper:has(.ep-profile-search) { zoom: 1; }
    .header-bottom .flex-col:has(.ep-profile-search),
    .header-search-form:has(.ep-profile-search) { min-width: 0; }
    .ep-profile-search { border-radius: 16px; font-size: 16px; }
    form.ep-profile-search select { flex-basis: 105px; width: 105px; padding-left: 8px; }
    form.ep-profile-search input[type="search"] { flex-basis: 100px; width: 100px; }
    form.ep-profile-search input[type="search"],
    form.ep-profile-search select,
    form.ep-profile-search button { height: 46px; min-height: 46px; }
    form.ep-profile-search button { flex-basis: 46px; width: 46px; border-radius: 12px; }
    .ep-profile-search .datify-icon { width: 22px; height: 22px; }
    .ep-area-picker { flex-basis: 140px; width: 140px; min-width: 130px; }
    .ep-area-picker > summary { height: 46px; padding-inline: 8px; }
    .ep-area-picker__panel { font-size: 16px; }
    form.ep-profile-search .ep-area-picker__search input[type="search"],
    .ep-area-picker__option { min-height: 44px; }
}
