/*!
 * smit-folder-select — выбор папки клиентов деревом. Пара с smit-folder-select.js.
 * Вид взят у дерева клиентов в сайдбаре: отступ и линия показывают вложенность,
 * справа — сколько клиентов лежит в папке.
 */

.smit-folder { display: block; width: 100%; }

.smit-folder-native {
    /* Не display:none — иначе ломается валидация формы и submit. */
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.smit-folder-btn {
    display: flex;
    align-items: center;
    gap: .45rem;
    width: 100%;
    min-height: 31px;
    padding: 3px 8px;
    border: 1px solid var(--sc-border, #dee2e6);
    border-radius: 5px;
    background: var(--sc-input-bg, #fff);
    color: var(--sc-text, #212529);
    cursor: pointer;
    font-size: .82rem;
    text-align: left;
}

.smit-folder-btn:hover { border-color: var(--sc-brand, #43b77a); }
.smit-folder-btn:focus-visible {
    outline: 2px solid var(--sc-brand, #43b77a);
    outline-offset: 1px;
}

.smit-folder-ic { color: #eab308; flex: 0 0 auto; }
.smit-folder-name { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.smit-folder-empty { flex: 1 1 auto; color: var(--sc-text-muted, #64748b); }
.smit-folder-caret { flex: 0 0 auto; font-size: .65em; opacity: .55; }

/* ── меню ── */
.smit-folder-menu {
    position: fixed;
    z-index: 2600;
    width: max-content;
    max-width: min(420px, calc(100vw - 16px));
    padding: 6px;
    border: 1px solid var(--sc-border, #e2e8f0);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(15, 23, 42, .18);
}

.smit-folder-search {
    display: flex;
    align-items: center;
    gap: .4rem;
    padding: 2px 6px 6px;
    border-bottom: 1px solid var(--sc-border, #e2e8f0);
    margin-bottom: 4px;
    color: var(--sc-text-muted, #64748b);
}

.smit-folder-search input {
    flex: 1 1 auto;
    min-width: 0;
    border: 0;
    outline: none;
    background: transparent;
    font-size: .84rem;
    color: inherit;
}

.smit-folder-list {
    max-height: 320px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.smit-folder-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: .45rem;
    width: 100%;
    /* Отступ по уровню вложенности — как в дереве клиентов. */
    padding: .3rem .5rem .3rem calc(.5rem + var(--depth, 0) * 1.15rem);
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--sc-text, #212529);
    cursor: pointer;
    font-size: .84rem;
    text-align: left;
    white-space: nowrap;
}

.smit-folder-item i { flex: 0 0 auto; color: #eab308; }
.smit-folder-item.is-clear i { color: var(--sc-text-muted, #94a3b8); }
.smit-folder-item-name { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }

/* Линия к родителю: без неё вложенность читается только отступом. */
.smit-folder-rail {
    position: absolute;
    left: calc(.5rem + (var(--depth, 0) - 1) * 1.15rem + .5rem);
    top: 0;
    bottom: 0;
    width: 1px;
    background: var(--sc-border, #e2e8f0);
}
.smit-folder-item[style*="--depth:0"] .smit-folder-rail { display: none; }

.smit-folder-count {
    flex: 0 0 auto;
    padding: 0 .35rem;
    border-radius: 999px;
    background: rgba(100, 116, 139, .14);
    color: var(--sc-text-muted, #64748b);
    font-size: .7rem;
}

.smit-folder-item:hover,
.smit-folder-item:focus {
    background: rgba(67, 183, 122, .12);
    outline: none;
}
.smit-folder-item.sel { background: rgba(67, 183, 122, .18); font-weight: 600; }

.smit-folder-none {
    padding: .6rem .5rem;
    color: var(--sc-text-muted, #64748b);
    font-size: .82rem;
    text-align: center;
}

/* ── тёмная тема ── */
body.dark-theme .smit-folder-menu,
[data-bs-theme="dark"] .smit-folder-menu {
    background: #1e2530;
    border-color: #2f3742;
    box-shadow: 0 12px 34px rgba(0, 0, 0, .55);
}
body.dark-theme .smit-folder-btn,
[data-bs-theme="dark"] .smit-folder-btn {
    background: #232a35;
    border-color: #2f3742;
    color: #cfd8e3;
}
body.dark-theme .smit-folder-item,
[data-bs-theme="dark"] .smit-folder-item { color: #cfd8e3; }
body.dark-theme .smit-folder-item:hover,
body.dark-theme .smit-folder-item:focus,
[data-bs-theme="dark"] .smit-folder-item:hover,
[data-bs-theme="dark"] .smit-folder-item:focus { background: rgba(67, 183, 122, .18); }
body.dark-theme .smit-folder-search,
[data-bs-theme="dark"] .smit-folder-search { border-bottom-color: #2f3742; }
body.dark-theme .smit-folder-rail,
[data-bs-theme="dark"] .smit-folder-rail { background: #2f3742; }
body.dark-theme .smit-folder-count,
[data-bs-theme="dark"] .smit-folder-count { background: rgba(148, 163, 184, .18); color: #9aaab4; }

/* ── телефон: меню во всю ширину, крупнее строки ── */
@media (max-width: 575.98px) {
    .smit-folder-menu {
        left: 8px !important;
        right: 8px;
        width: auto;
        max-width: none;
    }
    .smit-folder-item { padding-top: .5rem; padding-bottom: .5rem; font-size: .95rem; }
    .smit-folder-list { max-height: 60vh; }
}
