/* School Smart Search KB */

.sss-sr {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ==========================================================================
   Форма (шорткод): переменные оформления
   ========================================================================== */
.sss-wrap {
    --sss-form-width: 680px;
    --sss-form-height: 40px;
    --sss-button-offset-y: 0px;
    --sss-r: 6px;
    --sss-in-bg: #fff;
    --sss-in-bd: #d0d7de;
    --sss-in-fg: #1d2327;
    --sss-bt-bg: #2271b1;
    --sss-bt-hover: #135e96;
    --sss-bt-fg: #fff;
    --sss-focus: rgba(34, 113, 177, 0.18);
    --sss-bw: 1px;
    --sss-fs: 14px;
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: var(--sss-form-width);
    /* В строке шапки (flex без переноса) форма не должна сжиматься до нуля */
    min-width: min(200px, 100%);
    flex: 0 1 var(--sss-form-width);
    margin: 0;
}
.sss-wrap *, .sss-wrap *::before, .sss-wrap *::after { box-sizing: border-box; }

/* Переменные по умолчанию для поля поиска темы (когда включено «Применять оформление к полю поиска темы») */
body.sss-theme-apply .wp-block-search {
    --sss-form-height: 40px;
    --sss-r: 6px;
    --sss-in-bg: #fff;
    --sss-in-bd: #d0d7de;
    --sss-in-fg: #1d2327;
    --sss-bt-bg: #2271b1;
    --sss-bt-hover: #135e96;
    --sss-bt-fg: #fff;
    --sss-focus: rgba(34, 113, 177, 0.18);
    --sss-bw: 1px;
    --sss-fs: 14px;
}

/* Оформления (форма из шорткода и поле поиска темы) */
.sss-preset-pill, body.sss-theme-pill .wp-block-search { --sss-r: calc(var(--sss-form-height) / 2); }
.sss-preset-minimal, body.sss-theme-minimal .wp-block-search { --sss-r: 6px; }
.sss-preset-soft, body.sss-theme-soft .wp-block-search { --sss-r: 10px; --sss-in-bg: #f8fbff; --sss-in-bd: #c7d7e6; --sss-bt-bg: #5b8db8; --sss-bt-hover: #4b7ca6; --sss-focus: rgba(91, 141, 184, 0.22); }
.sss-preset-contrast, body.sss-theme-contrast .wp-block-search { --sss-r: 4px; --sss-in-bd: #111; --sss-in-fg: #111; --sss-bt-bg: #111; --sss-bt-hover: #000; --sss-focus: rgba(17, 17, 17, 0.2); --sss-bw: 2px; }
.sss-preset-official, body.sss-theme-official .wp-block-search { --sss-r: 0px; --sss-in-bd: #1f3b73; --sss-bt-bg: #1f3b73; --sss-bt-hover: #162b55; --sss-focus: rgba(31, 59, 115, 0.22); --sss-bw: 2px; --sss-fs: 15px; }

/* Свои цвета из настроек */
.sss-custom-colors, body.sss-theme-custom .wp-block-search {
    --sss-in-bg: var(--sss-color-input-bg, #fff);
    --sss-in-bd: var(--sss-color-input-border, #d0d7de);
    --sss-in-fg: var(--sss-color-input-text, #1d2327);
    --sss-bt-bg: var(--sss-color-button-bg, #2271b1);
    --sss-bt-hover: var(--sss-color-button-hover, #135e96);
    --sss-bt-fg: var(--sss-color-button-icon, #fff);
}

.sss-shortcode-form {
    position: relative;
    display: flex;
    align-items: stretch;
    width: 100%;
    margin: 0;
    padding: 0;
}
.sss-shortcode-form label { flex: 1; min-width: 0; margin: 0; }

.sss-shortcode-form .search-field {
    display: block;
    width: 100%;
    height: var(--sss-form-height);
    min-height: var(--sss-form-height);
    margin: 0;
    padding: 8px 14px;
    background: var(--sss-in-bg);
    color: var(--sss-in-fg);
    border: var(--sss-bw) solid var(--sss-in-bd);
    border-right: 0;
    border-radius: var(--sss-r) 0 0 var(--sss-r);
    font-size: var(--sss-fs);
    line-height: 1.35;
    outline: none;
    box-shadow: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    -webkit-appearance: none;
    appearance: none;
}
.sss-preset-pill .search-field { padding-left: 20px; }
.sss-shortcode-form .search-field:focus { box-shadow: 0 0 0 3px var(--sss-focus); position: relative; z-index: 1; }
.sss-shortcode-form .search-field::placeholder { color: var(--sss-in-fg); opacity: 0.55; }
.sss-shortcode-form .search-field::-webkit-search-cancel-button { -webkit-appearance: none; }

.sss-shortcode-form .search-submit {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--sss-form-height);
    min-width: var(--sss-form-height);
    height: var(--sss-form-height);
    min-height: var(--sss-form-height);
    margin: 0;
    padding: 0;
    background: var(--sss-bt-bg);
    color: var(--sss-bt-fg);
    border: var(--sss-bw) solid var(--sss-bt-bg);
    border-left: 0;
    border-radius: 0 var(--sss-r) var(--sss-r) 0;
    cursor: pointer;
    transform: translateY(var(--sss-button-offset-y));
    transition: background 0.2s, border-color 0.2s;
}
.sss-preset-pill .search-submit { width: calc(var(--sss-form-height) + 10px); min-width: calc(var(--sss-form-height) + 10px); }
.sss-shortcode-form .search-submit:hover,
.sss-shortcode-form .search-submit:focus-visible { background: var(--sss-bt-hover); border-color: var(--sss-bt-hover); }
.sss-shortcode-form .search-submit:focus-visible { outline: 3px solid var(--sss-focus); outline-offset: 2px; }
.sss-search-submit-icon { display: inline-flex; line-height: 0; }
.sss-search-submit-icon svg { width: 18px; height: 18px; display: block; }

/* ==========================================================================
   Поле поиска темы (блок «Поиск») в выбранном оформлении
   ========================================================================== */
body.sss-theme-apply .wp-block-search .wp-block-search__inside-wrapper {
    gap: 0 !important;
    align-items: stretch;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.sss-theme-apply .wp-block-search .wp-block-search__input {
    height: var(--sss-form-height) !important;
    min-height: var(--sss-form-height) !important;
    margin: 0 !important;
    padding: 8px 14px !important;
    background: var(--sss-in-bg) !important;
    color: var(--sss-in-fg) !important;
    border: var(--sss-bw) solid var(--sss-in-bd) !important;
    border-right: 0 !important;
    border-radius: var(--sss-r) 0 0 var(--sss-r) !important;
    font-size: var(--sss-fs) !important;
    line-height: 1.35;
    box-shadow: none !important;
    outline: none;
}
body.sss-theme-apply.sss-theme-pill .wp-block-search .wp-block-search__input { padding-left: 20px !important; }
body.sss-theme-apply .wp-block-search .wp-block-search__input:focus { box-shadow: 0 0 0 3px var(--sss-focus) !important; }
body.sss-theme-apply .wp-block-search .wp-block-search__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--sss-form-height) !important;
    min-height: var(--sss-form-height) !important;
    min-width: var(--sss-form-height);
    margin: 0 !important;
    padding: 0 12px !important;
    background: var(--sss-bt-bg) !important;
    color: var(--sss-bt-fg) !important;
    border: var(--sss-bw) solid var(--sss-bt-bg) !important;
    border-left: 0 !important;
    border-radius: 0 var(--sss-r) var(--sss-r) 0 !important;
    box-shadow: none !important;
}
body.sss-theme-apply .wp-block-search .wp-block-search__button:hover,
body.sss-theme-apply .wp-block-search .wp-block-search__button:focus-visible {
    background: var(--sss-bt-hover) !important;
    border-color: var(--sss-bt-hover) !important;
}
body.sss-theme-apply .wp-block-search .wp-block-search__button svg { fill: currentColor; }

/* ==========================================================================
   Подсказки
   ========================================================================== */
.sss-has-results { position: relative; }

.sss-live-results {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 99999;
    display: none;
    max-height: 340px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
    text-align: left;
}
.sss-live-results.is-visible { display: block; }
/* В узком поле (например, в шапке) список шире поля, но не шире экрана */
.sss-live-results { min-width: min(340px, calc(100vw - 24px)); }
.sss-live-results.sss-align-right { left: auto; right: 0; }

.sss-live-results .sss-item {
    display: block;
    padding: 10px 14px;
    color: #1d2327;
    text-decoration: none;
    border-bottom: 1px solid #f0f0f1;
    background: transparent;
}
.sss-live-results .sss-item:last-child { border-bottom: 0; }
.sss-live-results .sss-item:hover,
.sss-live-results .sss-item.is-active { background: #eef4fb; }
.sss-live-results .sss-item.is-active { box-shadow: inset 3px 0 0 #2271b1; }
.sss-live-results .sss-item-title { display: block; font-weight: 600; line-height: 1.3; color: #1d2327; }
.sss-live-results .sss-item-title mark { background: #fff1a8; color: inherit; padding: 0 1px; border-radius: 2px; }
.sss-live-results .sss-item-meta { display: block; margin-top: 3px; font-size: 12px; color: #646970; }
.sss-live-results .sss-item-all { font-weight: 600; color: #2271b1; }
.sss-item-empty { padding: 12px 14px; color: #646970; font-size: 13px; }

/* ==========================================================================
   Телефон: значок лупы, по нажатию открывается поле (mobile="icon")
   ========================================================================== */
.sss-toggle { display: none; }

@media (max-width: 640px) {
    .sss-mobile-icon { width: auto; max-width: none; min-width: 0; flex: none; display: inline-block; }
    .sss-mobile-icon .sss-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: var(--sss-form-height);
        height: var(--sss-form-height);
        margin: 0;
        padding: 0;
        background: var(--sss-bt-bg);
        color: var(--sss-bt-fg);
        border: var(--sss-bw) solid var(--sss-bt-bg);
        border-radius: var(--sss-r);
        cursor: pointer;
    }
    .sss-mobile-icon .sss-toggle:focus-visible { outline: 3px solid var(--sss-focus); outline-offset: 2px; }
    .sss-mobile-icon .sss-shortcode-form {
        display: none;
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        z-index: 99998;
        width: min(92vw, 360px);
        padding: 8px;
        background: #fff;
        border-radius: 10px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
    }
    .sss-mobile-icon.is-open .sss-shortcode-form { display: flex; }
    .sss-mobile-icon .sss-live-results { top: calc(100% + 4px); }
}

@media (prefers-reduced-motion: reduce) {
    .sss-shortcode-form .search-field, .sss-shortcode-form .search-submit { transition: none; }
}
