/*
 * Блок «Список офисов» — дополнительные стили
 *
 * Для чего: Стили для PHP-рендеренного блока, которые не покрывает Vite-бандл
 * Почему нужен этот файл: Vite-бандл содержит .card-l со скоп-атрибутами [data-v-...]
 *   Vue SPA. Без скопа они не применяются к PHP-генерированному HTML блока.
 * Что здесь: только card-l и grid-обёртка.
 *   filter-events__button, button--ghost, button--middle — unscoped в бандле,
 *   применяются автоматически — повторять не нужно.
 */

/* ── Обёртка блока ────────────────────────────────────────────────────────── */

#office-regions {
    width: 100%;
}

/* ── Сетка карточек ───────────────────────────────────────────────────────── */

.offices {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    gap: 24px;
    margin-top: 32px;
}

@media (max-width: 839px) {
    .offices {
        grid-template-columns: 1fr;
        margin-top: 24px;
    }
}

/* ── Карточка офиса ───────────────────────────────────────────────────────── */

.card-l {
    display: flex;
    align-items: flex-start;
    border-radius: 20px;
    border: 1px solid #EDEDED;
    background: #FFFFFF;
    padding: 24px;
    box-sizing: border-box;
    transition: box-shadow 0.2s ease;
}

.card-l:hover {
    box-shadow: 0 4px 24px rgba(84, 107, 198, 0.1);
}

/* ── Содержимое карточки ──────────────────────────────────────────────────── */

.card-l__text-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    flex: 1 0 0;
    width: 100%;
}

.card-l__text-block_title {
    align-self: stretch;
    color: #293139;
    font-size: 24px;
    font-weight: 600;
    line-height: 32px;
}

/* ── Блок адреса ──────────────────────────────────────────────────────────── */

.card-l__address-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 12px;
    align-self: stretch;
}

.card-l__address-block__address {
    align-self: stretch;
    color: #293139;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}

.card-l__address-block__links {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.card-l__address-block__links > a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #546bc6;
    font-size: 15px;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.2px;
    text-decoration: none;
    transition: color 0.2s ease;
}

.card-l__address-block__links > a:hover {
    color: #5678ff;
    text-decoration: none;
}

.card-l__address-block__links .external-icon {
    flex-shrink: 0;
    opacity: 0.8;
    transition: opacity 0.2s ease;
}

.card-l__address-block__links > a:hover .external-icon {
    opacity: 1;
}

/* ── Блок телефонов ───────────────────────────────────────────────────────── */

.card-l__phone-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
}

.card-l__phone-block__phone {
    display: flex;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    color: #293139;
    font-size: 16px;
    font-weight: 500;
    line-height: normal;
}

.card-l__phone-block__phone svg {
    flex-shrink: 0;
}

.card-l__phone-block__phone a {
    display: flex;
    flex-direction: column;
    gap: 2px;
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.card-l__phone-block__phone a:hover {
    color: #546bc6;
}

/* Подпись к телефону (например: «WhatsApp», «Приёмная») */
.card-l__phone-label {
    font-weight: 500;
    font-size: 16px;
    line-height: normal;
}

.card-l__phone-desc {
    font-weight: 400;
    font-size: 13px;
    line-height: normal;
    color: #7b858e;
}

/* ── Кнопка «Связаться с нами» ────────────────────────────────────────────── */

.card-l__button {
    margin-top: auto;
    width: 100%;
    justify-content: center;
}

/* ── Состояние: нет офисов ────────────────────────────────────────────────── */

.offices__empty {
    color: #7b858e;
    font-size: 16px;
    grid-column: 1 / -1;
}

/* ── JS-фильтр: скрытые карточки ─────────────────────────────────────────── */

.card-l[hidden],
.card-l.is-hidden {
    display: none;
}
