.telegram-btn {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 20px;
    background-color: var(--color-telegram);
    border: none;
    border-radius: 50px;
    color: oklch(0.99 0.005 237);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, box-shadow 0.15s ease;
    box-shadow: 0 2px 8px rgba(0, 136, 204, 0.18);
}

.telegram-btn:hover {
    background-color: var(--color-telegram-dark);
    box-shadow: 0 4px 14px rgba(0, 136, 204, 0.28);
    /* Кнопка — это <a>, поэтому её перехватывало общее правило
       a:hover в article.css (красит ссылки в #a03a1f). Держим надпись
       белой, как у соседней кнопки заявки — та <button> и под это
       правило не попадает. Убирать строку нельзя: текст покраснеет. */
    color: oklch(0.99 0.005 237);
}

.telegram-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.btn-text {
    position: relative;
}

/* Floating Telegram button */
.telegram-floating {
    position: fixed;
    bottom: 20px;
    right: 20px;
    /* Keep the root-level bar below the fixed header (z-index: 999).
       The mobile drawer is nested inside that header, so its own z-index
       cannot escape the header's stacking context. */
    z-index: 998;
    display: none;
}

.telegram-floating .telegram-btn {
    padding: 12px 20px;
}

.telegram-floating .telegram-icon {
    width: 20px;
    height: 20px;
}

@media (max-width: 944px) {
    .header-buttons .telegram-btn {
        display: none;
    }
    .telegram-floating {
        display: block;
    }
}

@media (max-width: 768px) {
    .telegram-floating {
        bottom: 0;
        right: 0;
        left: 0;
        width: 100%;
        padding: 0;
    }
    .telegram-floating .telegram-btn {
        width: 100%;
        border-radius: 0;
        padding: 16px 20px;
        justify-content: center;
        font-size: 16px;
    }
    .telegram-floating .telegram-icon {
        width: 24px;
        height: 24px;
    }
}

@media (min-width: 945px) {
    .header-buttons .telegram-btn {
        display: flex;
    }
    .telegram-floating {
        display: none;
    }
}

/* Call button: explicit transitions, no transform theatrics */
.header-button.call-button {
    transition: background-color 0.2s ease;
}

.header-button.call-button:hover {
    background-color: var(--color-red-dark);
}
