/* Список служителей: поиск, группировка по регионам, сетка карточек */

.search-form {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    max-width: 480px;
    margin: 0 auto 2rem;
}

.search-form input { flex: 1 1 200px; }

.search-form button {
    flex: 0 0 auto;
    padding: .6rem 1.25rem;
    font-size: 1rem;
    background-color: var(--accent);
    color: #fff;
    border: none;
    border-radius: var(--radius);
    cursor: pointer;
    transition: background-color .2s ease;
}

.search-form button:hover { background-color: var(--accent-dark); }

.person-list { max-width: 100%; margin: 0 auto; padding: 0; }

.region {
    margin-bottom: 1.75rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--line);
}

.region:last-child { border-bottom: none; }

.region h2 {
    color: var(--accent);
    font-size: 1.2rem;
    margin-bottom: .75rem;
    padding-bottom: .35rem;
    border-bottom: 2px solid var(--line);
}

.person-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: .5rem 1rem;
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.person { margin: 0; }

.person a {
    display: block;
    text-decoration: none;
    color: var(--ink);
    font-size: 1rem;
    padding: .35rem 0;
}

.person a:hover { color: var(--accent); }

.show-full { margin-top: .75rem; }

.show-full a {
    display: inline-block;
    padding: .5rem 1.1rem;
    background-color: transparent;
    color: var(--accent);
    font-size: .95rem;
    border: 1px solid var(--accent);
    border-radius: 25px;
    text-decoration: none;
    font-weight: 600;
    transition: background-color .2s ease, color .2s ease;
}

.show-full a:hover {
    background-color: var(--accent);
    color: #fff;
}
